{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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kl1cNn4Zf2ZT6+LMiAY1BauegCgwOcmliAXn+zFkoasZqGKQfYyFhkZR35JFSIcxX3EcSJQyLIhL5gYSY2wb/+/Pq3LOmJbVcZV58BqRe1PgImXjeMzdmsAxrPFy/O6cWW6VILprXZsBROivzSTGdjdhxOKlOp0Yu97rOOZ4+JqrJDDpQh0joI5NYOTnjCuJR32SUS5czh9Zq8cyM2do+6Y56EKDy1hkDPy8slC5yvcwlUWvFgDHAv0CnhkekUITknNWpO8iswh2k/5y0H1MiKnb02wvg1Ssl5Prkmwgy0TCs5J4RqUY1T3hg8b0LD6IdneStplvC7pYb/gf39sBOXeCfVdpqa22P9VinIDDNChlO4w0wkEuN73JDEcXR54RoQ/PSWBFYohB7ruxRImVr5+L1qtJHyAAYs6ewLkFIxoTyTUMbJP6JdYwf46/eX+6heRdxjgY3wbRFw0oKhtprw7NUiN0bq1sth0k2XUFRvNiAl2Tu2FfEIj1dNOkBWgTbnfdLAW+qw2UWS0CM96srwUuboprLeeSjXdFtj+5GyzQQ0wt3zb5WRRXS7/dhS5nn2ZR/9z9NVzUsXZZbESrGoKQSHDnwfIY2klNod5bxEDYXSnhL9WtyfERO/rd1lKFlOU0z5EMK1hV2F4jXlcWfO87ZXYOqHVW03Ng4nu2Yp0RjfgzNr4kmWUGkT63LlE0uHCwQOpjf8Q4SNn3qT3aW2wSi+YiFwzqyB5s237inOK1GS1T/J4My/rfJjxHz+c1htrVo6wK7gY6ICEAsblLdwswcVuiijd14mtiOaGXSXqUhCOSL1/YKaOeOFoGq43ThPJ/P268+JXF1qkAFqtUdu/alpYABgmWJHbkcP14/7WLPmXkb2QdvtwlmRlPwxdxYBUZml06hKFWqFRhg9O6ZbCjRtjqfURtSgy0RHTSFkDdzrwDA/83BOETW/WSFhn8IjeyhN/LmLwDmGbN8P+Eoy+qfMaUN3KYpFfC/NqvchAeaWVSx0V8kOEzGLQQvAdUSB2oNXKlatymzKzyp9AHiQxkoAzxqpCuMzqMRW1lVa3qjk7Aq6QbLWQw44qFoW98/yueirCt0KnP0pMg8abEMJuvw+v/B1zBSj+GD0vGAAAAB3RFWHRBdXRob3IAqa7MSAAAAAx0RVh0RGVzY3JpcHRpb24AEwkhIwAAAAp0RVh0Q29weXJpZ2h0AKwPzDoAAAAOdEVYdENyZWF0aW9uIHRpbWUANfcPCQAAAAl0RVh0U29mdHdhcmUAXXD/OgAAAAt0RVh0RGlzY2xhaW1lcgC3wLSPAAAACHRFWHRXYXJuaW5nAMAb5ocAAAAHdEVYdFNvdXJjZQD1/4PrAAAACHRFWHRDb21tZW50APbMlr8AAAAGdEVYdFRpdGxlAKju0icAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 1,
     "metadata": {
      "image/png": {
       "width": 200
      }
     },
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from IPython.display import Image\n",
    "Image('../../Python_probability_statistics_machine_learning_2E.png',width=200)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "There is nothing so practical as a good theory. In this section, we establish\n",
    "the formal framework for thinking about machine learning.  This framework will\n",
    "help us think beyond particular methods for machine learning so we can\n",
    "integrate new methods or combine existing methods intelligently.\n",
    "\n",
    "Both machine learning and statistics strive to develop\n",
    "understanding from data.  Some historical perspective helps. Most of the\n",
    "methods in statistics were derived towards the start of the 20th century when\n",
    "data were hard to come by. Society was preoccupied with the potential dangers\n",
    "of human overpopulation and work was focused on studying agriculture and\n",
    "crop yields. At this time, even a dozen data points was considered\n",
    "plenty.  Around the same time, the deep foundations of probability were being\n",
    "established by Kolmogorov. Thus, the lack of data meant that the conclusions\n",
    "had to be buttressed by strong assumptions and solid  mathematics provided by\n",
    "the emerging theory of probability.  Furthermore, inexpensive powerful\n",
    "computers were not yet widely available. The situation today is much different:\n",
    "there are lots of data collected and powerful and easily programmable computers\n",
    "are available. The important problems no longer revolve around a dozen data\n",
    "points on a farm acre, but rather millions of points on a square millimeter of\n",
    "a DNA microarray.  Does this mean that statistics will be superseded by machine\n",
    "learning?\n",
    "\n",
    "In contrast to classical statistics, which is concerned with\n",
    "developing models that characterize, explain, and describe\n",
    "phenomena, machine learning is overwhelmingly concerned with\n",
    "prediction.  Areas like exploratory statistics are very\n",
    "closely related to machine learning, but still not as\n",
    "focused on prediction. In some sense, this is unavoidable\n",
    "due the size of the data machine learning can reduce.  In\n",
    "other words, machine learning can help distill a table of a\n",
    "million columns into one hundred columns, but can we still\n",
    "interpret one hundred columns meaningfully? In classical\n",
    "statistics,  this was never an issue because data were of a\n",
    "much smaller scale.   Whereas mathematical models, usually\n",
    "normal distributions, fitted with observations are common in\n",
    "statistics, machine learning uses data to construct models\n",
    "that sit on complicated data structures and exploit\n",
    "nonlinear optimizations that lack closed-form solutions. A\n",
    "common maxim is that statistics is data plus analytical\n",
    "theory and machine learning is data plus computable\n",
    "structures. This makes it seem like machine learning is\n",
    "completely ad-hoc and devoid of underlying theory, but this\n",
    "is not the case, and both machine learning and statistics\n",
    "share many important theoretical results. By way of\n",
    "contrast, let us consider a concrete problem.\n",
    "\n",
    "Let's consider the classic balls in urns problem (see [Figure](#fig:learning_theory_tmp_001)): we have an urn containing red and\n",
    "blue balls and we draw five balls from the urn, note the color of each\n",
    "ball, and then try to determine the proportion of red and blue balls\n",
    "in the urn. We have already studied many statistical methods for\n",
    "dealing with this problem. Now, let's generalize\n",
    "the problem slightly.  Suppose the urn is filled with white balls and\n",
    "there is some target unknown function $f$ that paints each selected\n",
    "ball either red or blue (see [Figure](#fig:learning_theory_tmp_002)).\n",
    "The machine learning problem is how to find the $f$ function, given\n",
    "only the observed red/blue balls. So far, this doesn't sound much\n",
    "different from the statistical problem. However, now we want to take\n",
    "our estimated $f$ function, say, $\\hat{f}$, and use it to predict the\n",
    "next handful of balls from another urn.  Now, here's where the story\n",
    "takes a sharp turn. Suppose the next urn *already* has some red and\n",
    "blue balls in it?  Then, applying the function $f$ may result in\n",
    "purple balls which were not seen in the *training* data (see [Figure](#fig:learning_theory_tmp_003)). What can we do?  We have just\n",
    "scraped the surface of the issues machine learning must confront using\n",
    "methods that are not part of the statistics canon.\n",
    "\n",
    "<!-- dom:FIGURE: [fig-machine_learning/learning_theory_tmp_001.png, width=500 frac=0.50] In the classical statistics problem, we observe a sample and model what the urn contains. <div id=\"fig:learning_theory_tmp_001\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:learning_theory_tmp_001\"></div>\n",
    "\n",
    "<p>In the classical statistics problem, we observe a sample and model what the urn contains.</p>\n",
    "<img src=\"fig-machine_learning/learning_theory_tmp_001.png\" width=500>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "<!-- dom:FIGURE: [fig-machine_learning/learning_theory_tmp_002.png, width=500 frac=0.60] In the machine learning problem, we want the function that colors the marbles. <div id=\"fig:learning_theory_tmp_002\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:learning_theory_tmp_002\"></div>\n",
    "\n",
    "<p>In the machine learning problem, we want the function that colors the marbles.</p>\n",
    "<img src=\"fig-machine_learning/learning_theory_tmp_002.png\" width=500>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "<!-- dom:FIGURE: [fig-machine_learning/learning_theory_tmp_003.png, width=500 frac=0.60] The problem is further complicated because we may see colored marbles that were not present in the original problem.  <div id=\"fig:learning_theory_tmp_003\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:learning_theory_tmp_003\"></div>\n",
    "\n",
    "<p>The problem is further complicated because we may see colored marbles that were not present in the original problem.</p>\n",
    "<img src=\"fig-machine_learning/learning_theory_tmp_003.png\" width=500>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "## Introduction to Theory of Machine Learning\n",
    "\n",
    "Some formality and an example can get us going. We define the unknown\n",
    "target function, $f:\\mathcal{X} \\mapsto \\mathcal{Y}$. The training set\n",
    "is $\\left\\{(x,y)\\right\\}$ which means that we only see the function's\n",
    "inputs/outputs. The hypothesis set $\\mathcal{H}$ is the set of all\n",
    "possible guesses at $f$. This is the set from which we will ultimately\n",
    "draw our final estimate, $\\hat{f}$. The machine learning problem is\n",
    "how to  derive the best element from the hypothesis set by using the\n",
    "training set.  Let's consider a concrete example in the code below.\n",
    "Suppose $\\mathcal{X}$ consists of all three-bit vectors (i.e.,\n",
    "$\\mathcal{X}=\\left\\{000,001,\\ldots,111\\right\\}$) as in the code below,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "from pandas import DataFrame\n",
    "df=DataFrame(index=pd.Index(['{0:04b}'.format(i) \n",
    "                              for i in range(2**4)],\n",
    "                            dtype='str',\n",
    "                            name='x'),columns=['f'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Programming Tip.**\n",
    "\n",
    "The string specification above uses Python's advanced string\n",
    "formatting mini-language. In this case, the specification says to\n",
    "convert the integer into a fixed-width, four-character (`04b`) binary\n",
    "representation.\n",
    "\n",
    "\n",
    "\n",
    " Next, we define the target function $f$ below which just\n",
    "checks if the number of zeros in the binary representation exceeds the\n",
    "number of ones.  If so, then the function outputs `1` and `0`\n",
    "otherwise (i.e., $\\mathcal{Y}=\\left\\{0,1\\right\\}$)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>f</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>x</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0000</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0001</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0010</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0011</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0100</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0101</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0110</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0111</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      f\n",
       "x      \n",
       "0000  1\n",
       "0001  1\n",
       "0010  1\n",
       "0011  0\n",
       "0100  1\n",
       "0101  0\n",
       "0110  0\n",
       "0111  0"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.f=np.array(df.index.map(lambda i:i.count('0')) \n",
    "               > df.index.map(lambda i:i.count('1')),dtype=int)\n",
    "df.head(8) # show top half only"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The hypothesis set for this problem is the set of *all* possible\n",
    "functions of $\\mathcal{X}$. The set $\\mathcal{D}$ represents all possible\n",
    "input/output pairs. The corresponding hypothesis set $\\mathcal{H}$ has $2^{16}$\n",
    "elements, one of which matches $f$. There are $2^{16}$ elements in the\n",
    "hypothesis set because for each of sixteen input elements, there are two\n",
    "possible corresponding values (zero or one) for each input. Thus, the size of\n",
    "the hypothesis set is $2\\times 2\\times\\ldots\\times 2=2^{16}$.  Now, presented\n",
    "with a training set consisting of the first eight input/output pairs, our goal\n",
    "is to minimize errors over the training set ($E_{\\texttt{in}}(\\hat{f})$).\n",
    "There are $2^8$ elements from the hypothesis set that exactly match $f$ over\n",
    "the training set.  But how to pick among these $2^8$ elements?  It seems that\n",
    "we are stuck here.  We need another element from the problem in order to\n",
    "proceed. The extra piece we need is to assume that the training set represents\n",
    "a random sampling (*in-sample* data) from a greater population (*out-of-sample*\n",
    "data) that would be consistent with the population that $\\hat{f}$ would\n",
    "ultimately predict upon. In other words, we are assuming a stable probability\n",
    "structure for both the in-sample and out-of-sample data. This is a major\n",
    "assumption!\n",
    "\n",
    "\n",
    "There is a subtle consequence of this assumption --- whatever the\n",
    "machine learning method does once deployed, in order for it to\n",
    "continue to work, it cannot disturb the data environment that it was\n",
    "trained on. Said differently, if the method is not to be trained\n",
    "continuously, then it cannot break this assumption by altering the\n",
    "generative environment that produced the data it was trained on.  For\n",
    "example, suppose we develop a model that predicts hospital\n",
    "readmissions based on seasonal weather and patient health.  Because\n",
    "the model is so effective, in the next six months, the hospital\n",
    "forestalls readmissions by delivering\n",
    "interventions that improve patient health.  Clearly using\n",
    "the model cannot change seasonal weather, but because the hospital\n",
    "used the model to change patient health, the training data used to\n",
    "build the model is no longer consistent with the forward-looking\n",
    "health of the patients.  Thus, there is little reason to think that\n",
    "the model will continue to work as well going forward.\n",
    "\n",
    "Returning to our example,  let's suppose that the first eight elements from\n",
    "$\\mathcal{X}$ are twice as likely as the last eight. The following code is a\n",
    "function that generates elements from $\\mathcal{X}$ according to this\n",
    "distribution."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "np.random.seed(12)\n",
    "def get_sample(n=1):\n",
    "   if n==1:\n",
    "      return '{0:04b}'.format(np.random.choice(list(range(8))*2\n",
    "                                              +list(range(8,16))))\n",
    "   else:\n",
    "      return [get_sample(1) for _ in range(n)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Programming Tip.**\n",
    "\n",
    "The function that returns random samples uses the\n",
    "`np.random.choice` function from Numpy which takes samples (with replacement)\n",
    "from the given iterable.  Because we want the first eight numbers to be twice\n",
    "as frequent as the rest, we simply repeat them in the iterable using\n",
    "`range(8)*2`. Recall that multiplying a Python list by an integer duplicates\n",
    "the entire list by that integer. It does not do element-wise multiplication as\n",
    "with Numpy arrays. If we wanted the first eight to be 10 times more frequent,\n",
    "then we would use `range(8)*10`, for example. This is a simple but powerful\n",
    "technique that requires very little code. Note that the `p` keyword argument in\n",
    "`np.random.choice` also provides an explicit way to specify more  complicated\n",
    "distributions.\n",
    "\n",
    "\n",
    "\n",
    " The next block applies the function definition $f$ to the\n",
    "sampled data to generate the training set consisting of eight elements."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(6,)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train=df.loc[get_sample(8),'f'] # 8-element training set\n",
    "train.index.unique().shape    # how many unique elements?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Notice that even though there are eight elements, there is redundancy\n",
    "because these are drawn according to an underlying probability.  Otherwise, if\n",
    "we just got all sixteen different elements, we would have a training set\n",
    "consisting of the complete specification of $f$ and then we would therefore\n",
    "know what $h\\in \\mathcal{H}$ to pick! However, this effect gives us a clue as\n",
    "to how this will ultimately work. Given the elements in the training set,\n",
    "consider the set of elements from the hypothesis set that exactly match.  How\n",
    "to choose among these? The answer is it does not matter! Why? Because under the\n",
    "assumption that the prediction will be used in an environment that is\n",
    "determined by the same probability, getting something outside of the training\n",
    "set is just as likely as getting something inside the training set.  The size\n",
    "of the training set is key here --- the bigger the training set, the less\n",
    "likely that there will be real-world data that fall outside of it and the\n",
    "better $\\hat{f}$ will perform [^complexity].  The following code shows the\n",
    "elements of the training set in the context of all possible data. \n",
    "\n",
    "[^complexity]: This assumes that the hypothesis set is big enough to capture\n",
    "the entire training set (which it is for this example). We will discuss this\n",
    "trade-off in greater generality shortly."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "x\n",
       "0000    NaN\n",
       "0001    NaN\n",
       "0010    1.0\n",
       "0011    0.0\n",
       "0100    1.0\n",
       "0101    NaN\n",
       "0110    0.0\n",
       "0111    NaN\n",
       "1000    1.0\n",
       "1001    0.0\n",
       "1010    NaN\n",
       "1011    NaN\n",
       "1100    NaN\n",
       "1101    NaN\n",
       "1110    NaN\n",
       "1111    NaN\n",
       "Name: fhat, dtype: float64"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['fhat']=df.loc[train.index.unique(),'f']\n",
    "df.fhat"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Note that there are `NaN` symbols where the training set had\n",
    "no values. For definiteness, we fill these in with zeros, although we\n",
    "can fill them with anything we want so long as whatever we do is not\n",
    "determined by the training set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.fhat.fillna(0,inplace=True) #final specification of fhat"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Now, let's pretend we have deployed this and generate some\n",
    "test data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.18"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test= df.loc[get_sample(50),'f']\n",
    "(df.loc[test.index,'fhat'] != test).mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The result shows the error rate, given the\n",
    "probability mechanism that generates the data.  The\n",
    "following Pandas-fu compares the overlap between the\n",
    "training set and the test set in the context of all possible\n",
    "data.  The `NaN` values show the rows where the test data\n",
    "had items absent in the training data. Recall that the\n",
    "method returns zero for these items.  As shown, sometimes\n",
    "this works in its favor, and sometimes not."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/unpingco/.conda/envs/pypsml2E/lib/python3.7/site-packages/ipykernel_launcher.py:4: FutureWarning: Sorting because non-concatenation axis is not aligned. A future version\n",
      "of pandas will change to not sort by default.\n",
      "\n",
      "To accept the future behavior, pass 'sort=False'.\n",
      "\n",
      "To retain the current behavior and silence the warning, pass 'sort=True'.\n",
      "\n",
      "  after removing the cwd from sys.path.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>test</th>\n",
       "      <th>train</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0000</th>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0001</th>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0010</th>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0011</th>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0100</th>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0101</th>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0110</th>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0111</th>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1000</th>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1001</th>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1010</th>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1011</th>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1100</th>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1101</th>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1110</th>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1111</th>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      test  train\n",
       "0000     1    NaN\n",
       "0001     1    NaN\n",
       "0010     1    1.0\n",
       "0011     0    0.0\n",
       "0100     1    1.0\n",
       "0101     0    NaN\n",
       "0110     0    0.0\n",
       "0111     0    NaN\n",
       "1000     1    1.0\n",
       "1001     0    0.0\n",
       "1010     0    NaN\n",
       "1011     0    NaN\n",
       "1100     0    NaN\n",
       "1101     0    NaN\n",
       "1110     0    NaN\n",
       "1111     0    NaN"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.concat([test.groupby(level=0).mean(), \n",
    "           train.groupby(level=0).mean()],\n",
    "          axis=1,\n",
    "          keys=['test','train'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Note that where the test data and training data shared\n",
    "elements, the prediction matched; but when the test set produced an unseen\n",
    "element, the prediction may or may not have matched.\n",
    "\n",
    "**Programming Tip.**\n",
    "\n",
    "The `pd.concat` function concatenates the two `Series` objects in the\n",
    "list. The `axis=1` means join the two objects along the columns where\n",
    "each newly created column is named according to the given `keys`. The\n",
    "`level=0` in the `groupby` for each of the `Series` objects  means\n",
    "group along the index. Because the index corresponds to the 4-bit\n",
    "elements, this accounts for repetition in the elements. The `mean`\n",
    "aggregation function computes the values of the function for each\n",
    "4-bit element. Because all functions in each  respective group have\n",
    "the same value, the `mean` just picks out that value\n",
    "because the average of a list of constants is that constant.\n",
    "\n",
    "\n",
    "\n",
    "Now, we are in position to ask how big the training set should be to achieve a\n",
    "level of performance. For example, on average, how many in-samples do we need\n",
    "for a given error rate? For this problem, we can ask how large (on average)\n",
    "must the training set be in order to capture *all* of the possibilities and\n",
    "achieve perfect out-of-sample error rates?  For this problem, this turns out\n",
    "to be sixty-three [^coupon].  Let's start over and retrain with these many\n",
    "in-samples.\n",
    "\n",
    "[^coupon]: This is a slight generalization of the classic coupon collector problem."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.0"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train=df.loc[get_sample(63),'f'] \n",
    "del df['fhat']   \n",
    "df['fhat']=df.loc[train.index.unique(),'f']\n",
    "df.fhat.fillna(0,inplace=True) #final specification of fhat\n",
    "test= df.loc[get_sample(50),'f'] \n",
    "# error rate\n",
    "(df.loc[test.index,'fhat'] != df.loc[test.index,'f']).mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Notice that this bigger training set has a better error rate because\n",
    "it is able to identify the best element from the hypothesis set because the\n",
    "training set captured more of the complexity of the unknown $f$. This example\n",
    "shows the trade-offs between the size of the training set, the complexity of\n",
    "the target function, the probability structure of the data, and the size of the\n",
    "hypothesis set. Note that upon exposure to the data, the so-called learning\n",
    "method did nothing besides memorize the data and give any unknown, newly\n",
    "encountered data the zero output. This means that the hypothesis set \n",
    "contains the single hypothesis function that memorizes and defaults to zero\n",
    "output. If the method attempted to change the default zero output based on the\n",
    "particular data, then we could say that meaningful learning took place.  What\n",
    "we lack here is *generalization*, which is the topic of the next section.\n",
    "\n",
    "## Theory of Generalization\n",
    "\n",
    "What we really want to know is how the our method will perform once deployed.\n",
    "It would be nice to have some kind of performance guarantee. In other words, we\n",
    "worked hard to minimize the errors in the training set, but what errors can we expect at deployment? In training, we minimized the\n",
    "in-sample error, $E_{\\texttt{in}}(\\hat{f}) $, but that's not good enough.  We\n",
    "want guarantees about the out-of-sample error, $ E_{\\texttt{out}}(\\hat{f})$.\n",
    "This is what *generalization* means in machine learning. The\n",
    "mathematical statement of this is the following,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\mathbb{P}\\left( \\lvert E_{\\texttt{out}}(\\hat{f})-E_{\\texttt{in}}(\\hat{f}) \\rvert > \\epsilon \\right) < \\delta\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " for $\\epsilon$ and $\\delta$. Informally, this says\n",
    "that the probability of the respective errors differing by more than a\n",
    "given $\\epsilon$ is less than some quantity, $\\delta$. This \n",
    "means that whatever the performance on the training set, it should\n",
    "probably  be pretty close to the corresponding performance once\n",
    "deployed.  Note that this does not say that the in-sample errors\n",
    "($E_{\\texttt{in}}$) are any good in an absolute sense.  It just says\n",
    "that we would not expect much different after deployment.  Thus,\n",
    "*good* generalization means no surprises after deployment, not\n",
    "necessarily good performance.  There are two main ways\n",
    "to get at this: cross-validation and probability inequalities.  Let's\n",
    "consider the latter first.  There are two entangled issues: the\n",
    "complexity of the hypothesis set and the probability of the data. It\n",
    "turns out we can separate these two by deriving a separate notion of\n",
    "complexity free from any particular data probability.\n",
    "\n",
    "\n",
    "**VC Dimension.** We first need a way to quantify model complexity.\n",
    "Following Wasserman [[wasserman2004all]](#wasserman2004all), let $\\mathcal{A}$ be a\n",
    "class of sets and $F = \\left\\{x_1,x_2,\\ldots,x_n\\right\\}$, a set of\n",
    "$n$ data points. Then, we define"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "N_{\\mathcal{A}}(F)=\\# \\left\\{ F \\cap A : A \\in \\mathcal{A}\\right\\}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " This counts the number of subsets of $F$ that can be extracted by the\n",
    "sets of $\\mathcal{A}$. The number of items in the set (i.e., cardinality) is\n",
    "noted by the $\\#$ symbol.  For example, suppose $F=\\left\\{1\\right\\}$ and\n",
    "$\\mathcal{A}=\\left\\{(x\\leq a)\\right\\}$.  In other words, $\\mathcal{A}$ consists\n",
    "of all intervals closed on the right and parameterized by $a$. In this case we\n",
    "have $N_{\\mathcal{A}}(F)=1$ because all elements can be extracted from $F$\n",
    "using $\\mathcal{A}$. Specifically, any $a>1$ means that $\\mathcal{A}$ contains $F$.\n",
    "\n",
    "\n",
    "The *shatter coefficient* is defined as,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "s(\\mathcal{A},n) = \\max_{F\\in \\mathcal{F}_n} N_{\\mathcal{A}}(F)\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where $\\mathcal{F}$ consists of all finite sets of size $n$. Note\n",
    "that this sweeps over all finite sets so we don't need to worry about any\n",
    "particular data set of finitely many points. The definition is concerned with\n",
    "$\\mathcal{A}$ and how its sets can pick off elements from the data set. A\n",
    "set $F$ is *shattered* by $\\mathcal{A}$ if it can pick out every element in it.\n",
    "This provides a sense of how the complexity in $\\mathcal{A}$ consumes data. In\n",
    "our last example, the set of half-closed intervals shattered every singleton\n",
    "set $\\left\\{x_1\\right\\}$. \n",
    "\n",
    "Now, we come to the main definition of the Vapnik-Chervonenkis\n",
    "[[vapnik2000nature]](#vapnik2000nature) dimension $d_{\\texttt{VC}}$ which defined as the largest\n",
    "$k$ for which $s(\\mathcal{A},n) = 2^k$, except in the case where\n",
    "$s(\\mathcal{A},n) = 2^n$ for which it is defined as  infinity. For our example\n",
    "where $F= \\left\\{x_1\\right\\}$, we already saw that $\\mathcal{A}$ shatters $F$.\n",
    "How about when $F=\\left\\{x_1,x_2\\right\\}$? Now, we have two points and we have\n",
    "to consider whether all subsets can be  extracted by $\\mathcal{A}$. In this\n",
    "case, there are four subsets,\n",
    "$\\left\\{\\o,\\left\\{x_1\\right\\},\\left\\{x_2\\right\\},\\left\\{x_1,x_2\\right\\}\n",
    "\\right\\}$.  Note that $\\o$ denotes the empty set. The empty set is easily\n",
    "extracted --- pick $a$ so that it is smaller than both\n",
    "$x_1$ and $x_2$.  Assuming that $x_1<x_2$, we can get the next set by\n",
    "choosing $x_1<a<x_2$. The last set is likewise do-able by choosing $x_2<a$.\n",
    "The problem is that we cannot capture the third set, $\\left\\{x_2\\right\\}$,\n",
    "without capturing $x_1$ as well.  This means that we cannot shatter any\n",
    "finite set with $n=2$ using $\\mathcal{A}$. Thus, $d_{\\texttt{VC}}=1$.\n",
    "\n",
    "Here is the climatic result"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "E_{\\texttt{out}}(\\hat{f})\\leq E_{\\texttt{in}}(\\hat{f})+\\sqrt{\\frac{8}{n}\\ln\\left(\\frac{4((2 n)^{ d_{\\texttt{VC}} }+1)}{\\delta} \\right) }\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " with probability at least $1-\\delta$. This basically says that the\n",
    "expected out-of-sample error can be no worse than the in-sample error plus a\n",
    "penalty due to the complexity of the hypothesis set. The expected in-sample error\n",
    "comes from the training set but the complexity penalty comes\n",
    "from just the hypothesis set, thus  disentangling these two issues.\n",
    "\n",
    "A general result like this, for which we do not worry about the probability of\n",
    "the data, is certain to be pretty generous, but nonetheless, it tells us how\n",
    "the complexity penalty enters into the out-of-sample error.  In other words,\n",
    "the bound on $E_{\\texttt{out}}(\\hat{f})$ gets worse for a more complex\n",
    "hypothesis set. Thus, this generalization bound is a useful guideline but not\n",
    "very practical if we want to get a good estimate of\n",
    "$E_{\\texttt{out}}(\\hat{f})$.\n",
    "\n",
    "## Worked Example for Generalization/Approximation Complexity\n",
    "\n",
    "The stylized curves in  [Figure](#fig:learning_theory_tmp_004) illustrate the\n",
    "idea that there is some optimal point of complexity that represents the best\n",
    "generalization given the training set.\n",
    "\n",
    "<!-- dom:FIGURE: [fig-machine_learning/learning_theory_tmp_004.png, width=500 frac=0.80] In the ideal situation, there is a *best model* that represents the optimal trade-off between complexity and error. This is shown by the vertical line.   <div id=\"fig:learning_theory_tmp_004\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:learning_theory_tmp_004\"></div>\n",
    "\n",
    "<p>In the ideal situation, there is a <em>best model</em> that represents the optimal trade-off between complexity and error. This is shown by the vertical line.</p>\n",
    "<img src=\"fig-machine_learning/learning_theory_tmp_004.png\" width=500>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "To get a firm handle on these curves, let's develop a simple one-dimensional\n",
    "machine learning method and go through the steps to create this graph.  Let's\n",
    "suppose we have a training set consisting of x-y pairs\n",
    "$\\left\\{(x_i,y_i)\\right\\}$. Our method groups the x-data into intervals\n",
    "and then averages the y-data in those intervals. Predicting for new x-data\n",
    "means simply identifying the interval containing the new data then reporting\n",
    "the corresponding value. In other words, we are building a simple\n",
    "one-dimensional, nearest neighbor classifier. For example, suppose the training set\n",
    "x-data is the following,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0     15\n",
       "1     30\n",
       "2     45\n",
       "3     65\n",
       "4     76\n",
       "5     82\n",
       "6    115\n",
       "7    145\n",
       "8    147\n",
       "9    158\n",
       "Name: x, dtype: int64"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train=DataFrame(columns=['x','y'])\n",
    "train['x']=np.sort(np.random.choice(range(2**10),size=90))\n",
    "train.x.head(10) # first ten elements"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " In this example, we took a random set of 10-bit integers. To group these\n",
    "into, say, ten intervals, we simply use Numpy reshape as in the following,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 15,  30,  45,  65,  76,  82, 115, 145, 147],\n",
       "       [158, 165, 174, 175, 181, 209, 215, 217, 232],\n",
       "       [233, 261, 271, 276, 284, 296, 318, 350, 376],\n",
       "       [384, 407, 410, 413, 452, 464, 472, 511, 522],\n",
       "       [525, 527, 531, 534, 544, 545, 548, 567, 567],\n",
       "       [584, 588, 610, 610, 641, 645, 648, 659, 667],\n",
       "       [676, 683, 684, 697, 701, 703, 733, 736, 750],\n",
       "       [754, 755, 772, 776, 790, 794, 798, 804, 830],\n",
       "       [831, 834, 861, 883, 910, 910, 911, 911, 937],\n",
       "       [943, 946, 947, 955, 962, 962, 984, 989, 998]])"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.x.values.reshape(10,-1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where every row is one of the groups. Note that the range of each\n",
    "group (i.e., length of the interval) is not preassigned, and is learned from\n",
    "the training data. For this example, the y-values correspond to the number of\n",
    "ones in the bit representation of the x-values. The following code defines this\n",
    "target function,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "f_target=np.vectorize(lambda i:i.count('1'))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Programming Tip.**\n",
    "\n",
    "The above function uses `np.vectorize` which is a convenience method in Numpy\n",
    "that converts plain Python functions into Numpy versions. This basically saves\n",
    "additional looping semantics and makes it easier to use with other Numpy\n",
    "arrays and functions.\n",
    "\n",
    "\n",
    "\n",
    " Next, we create the bit representations of all of the x-data below and\n",
    "then complete training set y-values,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>x</th>\n",
       "      <th>y</th>\n",
       "      <th>xb</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>15</td>\n",
       "      <td>4</td>\n",
       "      <td>0000001111</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>30</td>\n",
       "      <td>4</td>\n",
       "      <td>0000011110</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>45</td>\n",
       "      <td>4</td>\n",
       "      <td>0000101101</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>65</td>\n",
       "      <td>2</td>\n",
       "      <td>0001000001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>76</td>\n",
       "      <td>3</td>\n",
       "      <td>0001001100</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    x  y          xb\n",
       "0  15  4  0000001111\n",
       "1  30  4  0000011110\n",
       "2  45  4  0000101101\n",
       "3  65  2  0001000001\n",
       "4  76  3  0001001100"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train['xb']= train.x.map('{0:010b}'.format)\n",
    "train.y=train.xb.map(f_target)\n",
    "train.head(5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To train on this data, we just group by the specified amount and then\n",
    "average the y-data over each group."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([3.55555556, 4.88888889, 4.44444444, 4.88888889, 4.11111111,\n",
       "       4.        , 6.        , 5.11111111, 6.44444444, 6.66666667])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.y.values.reshape(10,-1).mean(axis=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Note that the `axis=1` keyword argument just means average across the\n",
    " columns. So far, this defines the training.  To predict using this\n",
    "method, we have to extract the edges from each of the groups and then fill in\n",
    "with the group-wise mean we just computed for `y`. The following code extracts\n",
    "the edges of each group."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 15 158 233 384 525 584 676 754 831 943]\n",
      "[147 232 376 522 567 667 750 830 937 998]\n"
     ]
    }
   ],
   "source": [
    "le,re=train.x.values.reshape(10,-1)[:,[0,-1]].T\n",
    "print (le) # left edge of group\n",
    "print (re) # right edge of group"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Next, we compute the group-wise means and assign them to their\n",
    "respective edges."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    0.0\n",
       "1    NaN\n",
       "2    NaN\n",
       "3    NaN\n",
       "4    NaN\n",
       "dtype: float64"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "val = train.y.values.reshape(10,-1).mean(axis=1).round()\n",
    "func = pd.Series(index=range(1024))\n",
    "func[le]=val    # assign value to left edge\n",
    "func[re]=val    # assign value to right edge\n",
    "func.iloc[0]=0  # default 0 if no data\n",
    "func.iloc[-1]=0 # default 0 if no data\n",
    "func.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Note that the Pandas `Series` object automatically fills in\n",
    "unassigned values with `NaN`. We have thus far only filled in values at the\n",
    "edges of the groups. Now, we need to fill in the intermediate values."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    0.0\n",
       "1    0.0\n",
       "2    0.0\n",
       "3    0.0\n",
       "4    0.0\n",
       "dtype: float64"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fi=func.interpolate('nearest')\n",
    "fi.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The `interpolate` method of the `Series` object can apply a wide\n",
    "variety of powerful interpolation methods, but we only need the simple nearest\n",
    "neighbor method to create our piecewise approximant.  [Figure](#fig:learning_theory_001) shows how this looks for the training data we have\n",
    "created."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/unpingco/.conda/envs/pypsml2E/lib/python3.7/site-packages/ipykernel_launcher.py:7: UserWarning: In Matplotlib 3.3 individual lines on a stem plot will be added as a LineCollection instead of individual lines. This significantly improves the performance of a stem plot. To remove this warning and switch to the new behaviour, set the \"use_line_collection\" keyword argument to True.\n",
      "  import sys\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "from matplotlib.pylab import subplots, mean, arange, setp\n",
    "fig,ax=subplots()\n",
    "fig.set_size_inches((10,5))\n",
    "_=ax.axis(xmax=1024,ymax=10)\n",
    "v=ax.stem(train.x,train.y,markerfmt='go',linefmt='g-')\n",
    "_=setp(v,color='gray')\n",
    "_=fi.plot(ax=ax,lw=4.,color='k')\n",
    "_=ax.set_xlabel('$X$',fontsize=20)\n",
    "_=ax.set_ylabel('$y$',fontsize=22)\n",
    "fig.tight_layout()\n",
    "fig.savefig('fig-machine_learning/learning_theory_001.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- dom:FIGURE: [fig-machine_learning/learning_theory_001.png, width=500 frac=0.85] The vertical lines show the training data and the thick black line is the approximant we have learned from the training data. <div id=\"fig:learning_theory_001\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:learning_theory_001\"></div>\n",
    "\n",
    "<p>The vertical lines show the training data and the thick black line is the approximant we have learned from the training data.</p>\n",
    "<img src=\"fig-machine_learning/learning_theory_001.png\" width=500>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "Now, with all that established, we can now  draw the curves for this machine\n",
    "learning method. Instead of partitioning the training data for cross-validation\n",
    "(which we'll discuss later), we can simulate test data using the same mechanism\n",
    "as for the training data, as shown next,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "test=pd.DataFrame(columns=['x','xb','y'])\n",
    "test['x']=np.random.choice(range(2**10),size=500)\n",
    "test.xb= test.x.map('{0:010b}'.format)\n",
    "test.y=test.xb.map(f_target)\n",
    "test.sort_values('x',inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The curves are the respective errors for the training data\n",
    "and the testing data. For our error measure, we use the mean-squared-error,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "E_{\\texttt{out}} = \\frac{1}{n} \\sum_{i=1}^n (\\hat{f}(x_i) - y_i)^2\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where $\\left\\{(x_i,y_i)\\right\\}_{i=1}^n$ come from the test data. The\n",
    "in-sample error ($E_{\\texttt{in}}$) is defined the same except for the\n",
    "in-sample data.  In this example, the size of each group is proportional to\n",
    "$d_{\\texttt{VC}}$, so the more groups we choose, the more complexity in the\n",
    "fitting.  Now, we have all the ingredients to understand the trade-offs of\n",
    "complexity versus error."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n=train.shape[0]\n",
    "divisors=arange(1,n+1)[(n % arange(1,n+1))==0]\n",
    "def atrainer(train,dvc):\n",
    "    le,re=train.x.values.reshape(dvc,-1)[:,[0,-1]].T\n",
    "    val = train.y.values.reshape(dvc,-1).mean(axis=1).round()\n",
    "    func = pd.Series(index=range(1024))\n",
    "    func[le]=val\n",
    "    func[re]=val\n",
    "    func.iloc[0]=0\n",
    "    func.iloc[-1]=0\n",
    "    fi=func.interpolate('nearest')\n",
    "    return fi\n",
    "\n",
    "otrn=[]; otst=[]\n",
    "for i in divisors: # loop over divisors\n",
    "    fi=atrainer(train,i)\n",
    "    otrn.append((mean((fi[train.x].values-train.y.values)**2)))\n",
    "    otst.append((mean((fi[test.x].values-test.y.values)**2)))\n",
    "\n",
    "fig,ax=subplots()\n",
    "fig.set_size_inches((10,6))\n",
    "_=ax.plot(divisors,otrn,'--s',label='train',color='k')\n",
    "_=ax.plot(divisors,otst,'-o',label='test',color='gray')\n",
    "_=ax.fill_between(divisors,otrn,otst,color='gray',alpha=.3)\n",
    "_=ax.legend(loc=0)\n",
    "_=ax.set_xlabel('Complexity',fontsize=22)\n",
    "_=ax.set_ylabel('Mean-squared-error',fontsize=22)\n",
    "fig.tight_layout()\n",
    "fig.savefig('fig-machine_learning/learning_theory_002.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "[Figure](#fig:learning_theory_002) shows the curves for our\n",
    "one-dimensional clustering method.  The dotted line shows the\n",
    "mean-squared-error on the training set and the other line shows the\n",
    "same for the test data. The shaded region is the *complexity penalty*\n",
    "of this method.  Note that with enough complexity, the method can\n",
    "exactly memorize the testing data, but that only penalizes the testing\n",
    "error ($E_{\\texttt{out}}$). This effect is exactly what the\n",
    "Vapnik-Chervonenkis theory expresses. The horizontal axis is\n",
    "proportional to the VC-dimension. In this case, complexity boils down\n",
    "to the number of intervals used in the sectioning. At the far right,\n",
    "we have as many intervals as there are elements in the data set,\n",
    "meaning that every element is wrapped in its own interval. The average\n",
    "value of the data in that interval is therefore just the corresponding\n",
    "$y$ value because there are no other elements to average over. \n",
    "\n",
    "<!-- dom:FIGURE: [fig-machine_learning/learning_theory_002.png, width=500 frac=0.85] The dotted line shows the mean-squared-error on the training set and the other line shows the same for the test data. The shaded region is the *complexity penalty* of this method. Note that as the complexity of the model increases, the training error decreases, and the method essentially memorizes the data. However, this improvement in training error comes at the cost of larger testing error. <div id=\"fig:learning_theory_002\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:learning_theory_002\"></div>\n",
    "\n",
    "<p>The dotted line shows the mean-squared-error on the training set and the other line shows the same for the test data. The shaded region is the <em>complexity penalty</em> of this method. Note that as the complexity of the model increases, the training error decreases, and the method essentially memorizes the data. However, this improvement in training error comes at the cost of larger testing error.</p>\n",
    "<img src=\"fig-machine_learning/learning_theory_002.png\" width=500>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "\n",
    "Before we leave this problem, there is another way to visualize the\n",
    "performance of our learning method. This problem can be thought of as\n",
    "a multi-class identification problem. Given a 10-bit integer, the\n",
    "number of ones in its binary representation is in one of the classes\n",
    "$\\left\\{0,1,\\ldots,10\\right\\}$.  The output of the model tries to put\n",
    "each integer in its respective class. How well this was done can be\n",
    "visualized using a *confusion matrix* as shown in the next code block,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 1  0  0  0  0  0  0  0  0  0]\n",
      " [ 1  0  1  0  1  1  0  0  0  0]\n",
      " [ 0  0  3  9  7  4  0  0  0  5]\n",
      " [ 1  0  3 23 19  6  6  0  2  0]\n",
      " [ 0  0  1 26 27 14 27  2  2  0]\n",
      " [ 0  0  3 15 31 28 30  8  1  0]\n",
      " [ 0  0  1  8 18 20 25 23  2  2]\n",
      " [ 1  0  1 10  5 13  7 19  3  6]\n",
      " [ 4  0  1  2  0  2  2  7  4  3]\n",
      " [ 2  0  0  0  0  1  0  0  0  0]]\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import confusion_matrix\n",
    "cmx=confusion_matrix(test.y.values,fi[test.x].values)\n",
    "print(cmx)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The rows of this $10 \\times 10$ matrix show the true class \n",
    "and the columns indicate the class that the model predicted.  The numbers in\n",
    "the matrix indicate the number of times that association was made. For example,\n",
    "the first row shows that there was one entry in the test set with no ones in\n",
    "its binary representation (i.e, namely the number zero) and it was correctly\n",
    "classified (namely, it is in the first row, first column of the matrix). The\n",
    "second row shows there were four entries total in the test set with a binary\n",
    "representation containing exactly a single one. This was incorrectly classified\n",
    "as the 0-class (i.e, first column) once, the 2-class (third column) once, the\n",
    "4-class (fifth column) once, and the 5-class (sixth column) once.  It was never\n",
    "classified correctly because the second column is zero for this row. In other\n",
    "words, the diagonal entries show the number of times it was correctly\n",
    "classified.\n",
    "\n",
    "Using this matrix, we can easily estimate the true-detection\n",
    "probability that we covered earlier in our hypothesis testing section,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1.         0.         0.10714286 0.38333333 0.27272727 0.24137931\n",
      " 0.25252525 0.29230769 0.16       0.        ]\n"
     ]
    }
   ],
   "source": [
    "print(cmx.diagonal()/cmx.sum(axis=1))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " In other words, the first element is the probability of detecting `0`\n",
    "when `0` is in force, the second element is the probability of detecting `1`\n",
    "when `1` is in force, and so on. We can likewise compute the false-alarm rate\n",
    "for each of the classes in the following,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.01803607 0.         0.02330508 0.15909091 0.20199501 0.15885417\n",
      " 0.17955112 0.09195402 0.02105263 0.03219316]\n"
     ]
    }
   ],
   "source": [
    "print((cmx.sum(axis=0)-cmx.diagonal())/(cmx.sum()-cmx.sum(axis=1)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Programming Tip.**\n",
    "\n",
    "The Numpy `sum` function can sum across a particular axis or, if the\n",
    "axis is unspecified, will sum all entries of the array.\n",
    "\n",
    "\n",
    "\n",
    " In this case, the first element is the probability that `0`\n",
    "is declared when another category is in force, the next element is the\n",
    "probability that `1` is declared when another category is in force,\n",
    "and so on. For a decent classifier, we want a true-detection\n",
    "probability to be greater than the corresponding false-alarm rate,\n",
    "otherwise the classifier is no better than a coin-flip. \n",
    "\n",
    "The missing feature of this problem, from the learning\n",
    "algorithm standpoint, is that we did not supply the bit representation\n",
    "of every element which was used to derive the target variable, $y$.\n",
    "Instead, we just used the integer value of each of the 10-bit numbers,\n",
    "which essentially concealed the mechanism for creating the $y$ values.\n",
    "In other words, there was a unknown transformation from the input\n",
    "space $\\mathcal{X}$ to $\\mathcal{Y}$ that the learning algorithm had\n",
    "to overcome, but that it could not overcome, at least not without\n",
    "memorizing the training data. This lack of knowledge is a key issue in\n",
    "all machine learning problems, although we have made it explicit here\n",
    "with this stylized example. This means that there may be one or more\n",
    "transformations from $\\mathcal{X} \\rightarrow \\mathcal{X}^\\prime$ that\n",
    "can help the learning algorithm get traction on the so-transformed space\n",
    "while providing a better trade-off between generalization and\n",
    "approximation than could have been achieved otherwise. Finding such\n",
    "transformations is called *feature engineering*.\n",
    "\n",
    "\n",
    "## Cross-Validation\n",
    "<div id=\"ch:ml:sec:cv\"></div>\n",
    "\n",
    "In the last section, we explored a stylized machine learning example\n",
    "to understand the issues of complexity in machine learning. However,\n",
    "to get an estimate of out-of-sample errors, we simply generated more\n",
    "synthetic data. In practice, this is not an option, so we need to\n",
    "estimate these errors from the training set itself. This is what\n",
    "cross-validation does.  The simplest form of cross-validation is\n",
    "k-fold validation. For example, if $K=3$, then the training data is\n",
    "divided into three sections wherein each of the three sections is used\n",
    "for testing and the remaining two are used for training.  This is\n",
    "implemented in Scikit-learn as in the following,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['a' 'a' 'a' 'b' 'b' 'b' 'c' 'c' 'c']\n",
      "[3 4 5 6 7 8] [0 1 2]\n",
      "[0 1 2 6 7 8] [3 4 5]\n",
      "[0 1 2 3 4 5] [6 7 8]\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "from sklearn.model_selection import KFold\n",
    "data =np.array(['a',]*3+['b',]*3+['c',]*3) # example \n",
    "print (data)\n",
    "kf = KFold(3)\n",
    "for train_idx,test_idx in kf.split(data):\n",
    "   print (train_idx,test_idx)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " In the code above, we construct a sample data array and then see\n",
    "how `KFold` splits it up into indicies for training and testing, respectively.\n",
    "Notice that there are no duplicated elements in each row between training and\n",
    "testing indicies. To examine the elements of the data set in each category, we simply\n",
    "use each of the indicies as in the following,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "training ['b' 'b' 'b' 'c' 'c' 'c']\n",
      "testing ['a' 'a' 'a']\n",
      "training ['a' 'a' 'a' 'c' 'c' 'c']\n",
      "testing ['b' 'b' 'b']\n",
      "training ['a' 'a' 'a' 'b' 'b' 'b']\n",
      "testing ['c' 'c' 'c']\n"
     ]
    }
   ],
   "source": [
    "for train_idx,test_idx in kf.split(data):\n",
    "   print('training', data[ train_idx ])\n",
    "   print('testing' , data[ test_idx ])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " This shows how each group is used in turn for training/testing. There\n",
    "is no random shuffling of the data unless the `shuffle` keyword argument is\n",
    "given.  The error over the test set is the *cross-validation error*. The idea is\n",
    "to postulate models of differing complexity and then pick the one with the best\n",
    "cross-validation error. For example, suppose we had the following sine wave\n",
    "data,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "xi = np.linspace(0,1,30)\n",
    "yi = np.sin(2*np.pi*xi)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " and we want to fit this with polynomials of increasing order."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAEICAYAAACktLTqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOydeXhTxdfHv5M0bWlp2WlpaVJZWkB2yio7KohAEUSWIotAFXEDZC1LhVZ+gCyCIpusrUhRBBQBlRdFhAoUZSmbLN0om0ApXdMm5/0jaQxpkibNzdr5PM99IHPvzJxJzz2ZOXNmhhEROBwOh+NaiOwtAIfD4XCEhxt3DofDcUG4cedwOBwXhBt3DofDcUG4cedwOBwXhBt3DofDcUGcxrgzxrYwxmLsLQeHIyRcrznWwmmMuzPDGGvKGDvEGPuXMeb0CwsYY70YY5cZY3mMsSOMMZmRZ+MYY7cZY9mMsauMsfFa94IZY8QYy9G65mrdj2aMFencr2ft9nFMg+u1Qb1uwhg7zRh7pL5+YYw10brfQ13+Y8ZYirXaU6GNO2PMzUZVFQFIADBO6IL1tcHcdpnzPGOsJoDdAOYCqA7gNICdRrIsAhBMRL4ABgCIYYy10XmmKhFVVl8Lde7t1LpXmYhumCprRYXrtfnPC6zXmQBeVZdTE8A+AF9r5c0FsAnANFPlKw8Oa9wZY60YY2cYY08YYzsBeGrd68cY+5sxlsUYO84Ya651rzVj7C91vl2MsZ0lw17GWHfGWAZjbAZj7A6AzSaUF8AY+5Yxdp8xdpMx9p65bSGiK0T0JYBkA21dwxhbY0qd6t7sN+qeQzaAMQbSPBhjKxljmeprJWPMw9j3YCKDACQT0S4iKgAQDaAFY6yRgbYnE1FhyUf1Vd+M+lwKrteur9dElEVEKaRa/s8AKAA00Mp7koi2A7BuR4WIHO4C4A4gFcBkABKofgWLAMQAaA3gHoD2AMQARgNIAeChle99db5BAOQAYtTldgdQDGCx+vlKZZQnApAEYJ667HpQ/UF6q8sbASDLyCXVaVcD1VdutO1l1Rmt/i4Gqp+tZCBtAYBEALUB1AJwHMBCI9+DtIy2jFDn/RTAFzoyXwAw2Eib1gDIg+oFOAOgsjo9WJ12C0AGVC9jTa180QAeA3gIlQGZaG/d5HrN9bosvda6n6WWRwlgjp78zwNIsZq+2VvhDXxpXaEa2jCttOPql+CLkj+m1r0rALqp893SyXdM5yWQA/DUum+svPYA0nTuzQKwuZztMuUlMFqnWuGP6tzXl3YdQF+tz71LFEnf92BGG74E8D+dtD8AjCkjnxhAZwBzAEjUaZUBhAFwA+AH4BsAh7TyNAEQoM7bCcBtAMPtrZ9cr7leG9NrnfveAN4G8LKee1Y17rbyzZlLAIBbpP4G1KSq/5UBGM0Ye1frnrs6D+nJl65T9n1SDbtKMFaeAkAAYyxL654YwO/mNsgMZCbUqdsmfWkB+O87g/r/AVqfdb8HU8kB4KuT5gvgibFMRKQAcIwxNhLARACriCgHKt8mANxljL0D4DZjzJeIsonoolYRxxljn0LV291RDrkdAa7XFUCvde7nMsbWArjPGGtMRPfKIVu5cFSf+20AgYwxppUmVf+bDiCWiKpqXV5EtMNAviCdsnVn9Y2Vlw7gps49HyLqCwCMsQj2dCSH7iWF+Rit00Ab9KVlQvVClSBVp+l9njEmLaMtEepHkwG00MrnDZWvUa/fVQ9uMOxzL5GJGblv6J4zwPW6Yuq1CIAXgEATyxIGaw0JLLmg6mGkQeVjdIPKx1jimwyDSlHaQ/WiewN4GYCPVr531fnCUdo3maFTl7HyxFD5CWdA5b8TA2gKoK2Z7WFQTZw1gUr5PAF4aN3fAmAL/TfMM1gnVEPVOJ3y9aXFQDXkrwXVjL3uMD7DnDZolVsLKj/4YHU7FgNINPBsbQDDoHK/iKEaQucCCFffbw8gFCrlrwFVdMIRrfzhAKqpv792ULkmRttbP7lec70uQ69fANBKfc8Xqt58JtTuIrW+ewJ4CaqRhycAd6H1zSF77kQkh0rxxwB4BGAoVGFKIKLTACYA+Ex975r6Oe1846CazBgJ4AcAhTBAGeUpAPQH0BLATQD/AtgIoIqZTZIByMd/vYB8qPyfJQRB5d8Tss4YqFwe5wCch2rCx+LFMkR0H6oXIBaq76s9VIoOAGCMzWaMHSh5HKqhaob62U8AfEBEe9X36wE4CNXQ9wJUf6fhWtUNg+rv8QTANgCLiWirpW2wF1yvK4xeV4XKdfgYqjmCBgD60H/uoq5QfVc/QjXyyAfwk6Vt0IWpf0lcFsbYnwDWEtFme8uiD8aYO4CzAJoTUZG95eE4B1yvOWXhkD13S2CMdWOM+TPG3BhjowE0h6p36JAQkZyIGvMXgGMMrtccc3HUaBlLCIVq1VxlqIZErxLRbfuKxOFYDNdrjlm4vFuGw+FwKiIu55bhcDgcjp3cMjVr1qTg4GB7VM2pACQlJf1LRLXsUTfXbY41MUe37WLcg4ODcfr06bIf5HDKAWMsteynrAPXbY41MUe3uVuGw+FwXBBu3DkcDscFcSjjnpubi4kTJyI9Xd/+QRwOh8MxFYcy7keOHMHGjRsREhKCjz76CAUF5dncjcPhcDgOZdy7du2K2bNnIzQ0FNHR0WjYsCF2794NHovP4XA45uFQxh0AatasibfffhvvvfceiouLMWfOHNy+zRficTgcjjkIYtwZY5sYY/cYYxeEKA8Ann32WcydOxcjR47EN998g+3bt+Pdd9/Fo0ePhKqCw6kwxMfHIzg4GCKRCMHBwYiPj7e3SBwrI1TPfQuAPgKVpcHNzQ01a9aEh4cHDh48iM8//xz16tXDunXroFAohK5OL/yl4Dg78fHxiIyMRGpqKogIqampiIyM5Lrs4ghi3InoKFSHGFsFxhi6deuGmTNnonr16njrrbfQokULHDt2TNB6ioqKcOzYMWzatAn79u3DggULMGHCBP5ScJwK3Q7J+++/j7y8vKeeycvLw8yZM23WSeLYHsE2DmOMBQP4gYiaGrgfCSASAKRSaZvU1NILrbKzs7F161Z4eHgYrIeIkJiYiD179qBVq1b49ttvUa1atXLL/c8//+DQoUP4+eefceTIETx5YvTIRABAjRo1ULlyZaSlpUEqlSI2NhYRERFl5uPYBsZYEhGF2bC+MnXbVpT00nWNuSHc3Nzw8ssvY8aMGejYsaOVpeNYijm6bTPjrk1YWBjpW6JtinEvoaCgAHl5efD29oanpydu376N6dOnw9PT0yR57927h6lTpyIuLg4AULt2bTRo0ACNGzeGv78/OnXqhH79+pkUqePl5YX169dzA+8g2Nq4a2NIt21FcHAwTP1xqVatGgYMGICEhATk5+cjLCwMM2fOxMCBAyEWi60sKac8mKPbTrufu6enJzw9PaFUKrF7924cPHgQGzduxKpVqxAeHo6nzxL+D6VSiY0bN2LGjBnIycnBiy++iHbt2sHf3x9ubm5gjKGoqAgtWrSAVCo16UXJy8tDVFQUN+4cmxMfH4+oqCikpaUhMDAQGRkZJuXz8vLC6tWr0b59ezz77LP4888/8euvv+LVV1+FVCrFjh070KlTJytLz7EmDhcKaS4ikQivvPIK3n33XRQVFeGVV15B9+7dcfHixVLPnj9/Hp07d8abb74JPz8/TJ8+Ha+88gqCgoIgkUhK/SDExsbCy8vLJDnS0tIEaQ+HYyq6E6XGDHuNGjUgk8nAGINMJntqpFmpUiW8+OKLWLhwIcaNG4fc3Fx07doVK1eu5GtMnBihQiF3ADgBIJQxlsEYGydEuebQtGlTzJ07F4MHD8apU6fwv//9D7m5uZr7e/bsQVhYGJKTkxEREYFJkyZBJpNBJDL8FURERGD9+vVPvRQ1atTQ+6yvry+PquHYlKioKL2+dd1OipeXFz799FOkpKRAqVQiJSVF7yhTLBajXbt2moWEkydPxtChQ03233McC7ucxCSEz90Y2dnZICJ4eXmhuLgYf//9N7Zt24bg4GC88cYbqFmzpkG3DaCKmhk4cCACAwNL3TN1wor74e1HRfG5i0Qigz1rmUxm0oT/tWvXcPDgQbi7uz+VrlQq8f333+PAgQMICQnB/v37Ub9+fcHbwDEPc3Tb6d0y+vD19UWVKlUgEomwfPlybNmyBRKJBH369EGtWrWMGvay0Neb1xetU+KH53CERDvM0ZhhL6uXXhYikQjh4eGYOHEi0tLS0KZNGyQnJ1sqPseGuKRxB1Qhk4cOHUJaWhrq1q0LT09PrFmzBhs3brR4lWtERMRTL09WVpbe57gfniMkuj52fXh5eSE2NlawOlu0aIGZM2dCqVSie/fuJkficOyPyxr3vXv3Yu/evQgLC8NPP/2E9PR0TJgwAX/99RcuXLgApVIpWF1SqdSsdA6nPBjysYvFYr0TpULh7++P9957Dzk5OejSpQvu378vaPkc6+CSxv2PP/7AgQMH0LFjRyQkJKBx48bw8fHB+vXrkZycjDFjxkAul+Po0aP466+/LI4IMBRV8+jRIz7ByhEMQyNBpVJpkQvGFKRSKSZNmoQ7d+6ga9euJi3249gXlzPu165dQ3x8PEJCQrBp0yY888wzT90PCQlBr169MGzYMJw8eRJr167FypUrLdp5UtcPX61aNTDGNBO7fNsCjhB4e3vrTbfVCDEkJAQTJkzA1atX0atXLxQWFtqkXk75cCnj/vDhQ6xduxbVqlXDqlWr0KhRI4PP1q5dGxcuXEBUVBRSU1OxYMEC7Ny5s9xhX9p+eF9f31KjAT7ByrGEtWvXIicnB25uT687FNrHXhYtWrTA66+/jlOnTmHw4ME8Dt6BcRnjXlhYiDVr1qCoqAgLFizAiy++WGYed3d3xMTE4Nq1a+jfvz+OHDmCmzdvWuyPNzR85hOsHHPQjoyZOHEiWrRogU2bNhlcjGQrOnXqhAEDBmD//v1YsmSJTevmmI5LGHciwtatW5GRkYFJkyZh/PjxZoU7BgQEYM+ePTh79iyef/55KBQKbNiwAcePHy+XPHyClaNLYWGhWb1cfZExV69ehUgksjjMUQheeuklNGnSBHPmzMGJEyfsIgPHOC5h3A8dOoSkpCQMHDgQ8+fPh0QiKVc5zZo1Q//+/fHKK69g8+bNeO655/D6668jMzPTrHIMTbC++uqr5ZKL4/wsXrwYjRs3xvLly/HgwYMyn9cXGZOfn+8wrj2RSIQ33ngD3t7eGDx4MB4/fmxvkTg6OL1xT01Nxd69e9GqVSt89tln8PHxsbhMmUyG5ORkzJ49GwkJCQgJCcH//vc/kyeQdCdYg4KCIJVKsXbtWtStW5dH0FRAmjZtiurVq2Pq1KkIDAzEyJEjjZ5H4AyuPR8fH0yYMAF3797Fa6+9xv3vDoZTG3e5XI5NmzbBx8cHixcvRkBAgGBlV65cGbGxsbh06RKef/55REdH49atWybn155gTUtLw3vvvYfc3FzcunWLR9BUQAYNGoTjx4/j7NmzGD9+PL7//nssW7ZMcz8nJ+ep52vVqqW3HEdz7TVs2BD9+/fHTz/9xP3vDoZTG/fdu3fjzp07ePvtt9GrVy+r1FGvXj3s2bMHFy9eRL169QAAH330ES5fvmxWOatXry6VxiNoKh7NmzfHZ599hszMTI1OXL9+HbVr18brr7+OY8eO4eHDh5DL5Xo3ALNlZIyp9OnTB40bN+b+dwfDaY37xYsXceTIEXTv3h0zZswwurujEJQY9vT0dKxYsQLNmjXD1KlTTfY1OsMwm2M7vL29UbduXQCARCLB2LFjsW/fPnTp0gX16tVDdnY2Zs+ebffIGFMQiUQYN24cvLy8MHz4cB7/7iA4pXHPzc3Fli1b4O/vj08++QRVqlSxWd1BQUH4559/MGbMGKxYsUKzWKqs8EkeQcMxhFQqRadOnTR6XNJh+OCDD5CSkoJ///0XN2/edEjDXoKPjw8iIiKQmpqKqVOn2lscDpzQuBMR4uPjkZOTg+nTp6N169Y2l6FWrVrYsGEDTp06hQYNGmDmzJllLsfWF0Hj5ubmkMNsjm0pCXtMT0/XpLm7u+PQoUMAgAEDBqBZs2ZYtWqVxZveWZOWLVsiLCwMX3zxBf788097i1PhcTrjfvr0aSQlJaFfv3548803Ldq+11LatGmDY8eOITExEVWqVEFxcTFmz56tN3RSN4KmcuXKKC4uRsOGDe0gOceR0Bf2WFBQgKioKBARxowZAy8vL7z//vsICAjAmDFj8Ndff9lJWuMMHz4cXl5eiIiIQFFRkb3FqdA4lXHPzc3Fzp07ERQUhCVLlph8BJ41YYxp/PGnT5/GsmXLEBoaisWLF5fyPWpH0GRkZCAwMBCvvPKK5kQoHh5ZMTE2H8MYw/jx43Hy5EkkJSVh9OjR+Pbbb5GYmAhANSlvaMtpe1C5cmUMHz4c169fx6xZs+wtToXGqYz77t27kZubi6lTpyIkJMTe4pSiQ4cOuHjxInr27ImZM2eiadOm+P777/XG/1apUgXDhw9HZmYm0tLSeHhkBUbfiV9A6fmY1q1bY+3atbh9+zZGjx4NANi2bRsCAgIwduxYJCYmOkSseVhYGFq1aoVPP/3UYUcYFQGnMe5Xr17FsWPH0LNnT4wfP97e4hikfv362Lt3Lw4dOgQ3NzfMmjXL4GTrrl27SqXx8MiKR8nITxtjYY+VK1fWjFo7d+6MUaNG4ZtvvkHHjh3RsmVLfP7553Y38iNGjICHhwdGjBgBhUJhV1kqKk5h3IuKihAXF4fq1asjJibG4NanjsSLL76Ic+fOYf/+/RCLxXj8+DHmzp37VOgkD4/kHDlyBEePHkX//v3LFfbYtGlTrF27FpmZmVi3bh3c3Nzw1Vdfaeaibty4YRdD7+vri6FDh+Ly5ctYuHChzevnOIlxP3jwIO7evYsJEyagXbt29hbHZCQSCWQyGQDV/jexsbEICQnB5s2boVQqeXhkBUV7t8cXX3wRtWvXxs6dOy3aEMzHxweRkZFISkrCjz/+CAB48OABmjRpgpYtW2LNmjU23/+lXbt2aNSoERYvXsw7LHbA4Y37nTt3cPDgQbRp0wbTpk2za3SMJbz22ms4deoU6tevjzfeeAMdOnTA2LFjS00KV6pUiYdHujC6uz0WFxfj8ePH2L17t2B1lMTLe3p6YuXKlRCJRJg0aRICAgIwbtw43Lx5U7C6jMEYw4gRI1BcXIxx48bZpE7Ofzi0cScixMXFQSKRYP78+ahRo4a9RbKINm3a4I8//sD27duRkZGBP//886nwSABo1aqVQy9W4ViGvrDHwsJCq8yzeHt746233sKZM2dw8uRJDB8+HAkJCRofeFpamtWPy/Pz80Pv3r3xyy+/4LvvvrNqXZynYfbwx4WFhdHp06dLpWdnZ2Pr1q3w8PAAAJw4cQJbtmzBqFGj8OWXX5Y6hcaZycnJQXZ2NgICAnDz5k3s2rULWVlZWLRoEQ4fPoyePXvaW0SnhTGWRERh9qjbkG6XIBKJ9PrAGWOCHtpuiLy8PM1ocdCgQTh06BBatGiB7t27P9XJEJKioiJER0dDIpHgxo0b8PT0FLyOioI5uu2wPfe8vDx8++23CA4ORnR0tEsZdkAV8VCyi+WuXbswY8YMJCQkwN/fHxERETz23UWx9zyLthtw1qxZCA8PR1JSEhYtWoSYmBicOnVK8DolEgmGDx+O27dvY+bMmYKXz9GPwxr3ffv2IScnB++//36pQ65djenTp+PgwYOQSCS4c+cO7ty5w2PfXZQ5c+aUSrPXbo9t27bFV199hbS0NMyePRuMMdy6dQv5+fkoKioSdBK0adOmaNWqFdasWWP2jqqc8uGQxj09PR2//vorOnfuXGEmYnr37o1z586hWrVqpe7x2HfX4eLFiwAAf39/h9nt0c/PD7GxsUhJScHatWsRGhqKv/76C7GxsYiJicHRo0dRUFBgcT1Dhw6FSCTCmDFj7B6HXxFwOF+HUqnEjh074O3tjfnz5wtyspKzIJFIDC4lT01NtbE0HKG5cOECVq1ahcjISKxbt87e4pRCJBJBKpVCKpWiZcuWqFWrFuLi4hAfH49vvvkG7dq1w6uvvlpun3m1atXQv39/fPPNN9i+fTtGjRolcAs42gjSc2eM9WGMXWGMXWOMWeRUO3XqFK5fv44hQ4age/fuQojnVBjyvbq7u2v2E6nIaMeIO8N8hLa8YWFh8PT0xMcff2xvscrE398fixYt0hxj2aVLF1y/fh1KpRJFRUW4ceNGuXrzPXv2hL+/Pz788MNSUUMVHaF122LjzhgTA/gcwEsAmgAYzhhrUp6ysrKysHfvXgQHB2P+/PkQi8WWiud06Nsa2N3dHV5eXujYsSPGjBmDO3fu2Ek6+6IbI+7o8xG68hYWFqKoqAgHDx60t2gmIxKJMGDAAPz888+4evUqunXrBjc3N6xevRrTp09HXFycWb55sViMESNG4P79+3zfdy2sodtC9NzbAbhGRDeISA7gawDh5SkoNjYWubm5+OCDDzQrOysaulsDA6r9vNPS0jBjxgzs2LHDYY2ZtdEXI+7I8xH65JXL5Q4rb1l4e3ujVatWmDBhAr766it07twZiYmJiI2Nxccff4wrV66YVE5oaCjCwsKwceNGJCcnW1lq58Aaum1xnDtj7FUAfYhovPrz6wDaE9E7Os9FAogEAKlU2kbXh1xQUIAWLVogICAA+/btq1C+dmMMGTIE+/fvx6VLlyCTyXD9+nUEBQXB3d0dP/zwAxhjePnll+0tpk0wNUbc1nHuhnTb3jHttiAzMxMrV65EfHw8hg4diuDgYDx+/BhyuRxBQUEG82VlZWHevHlo1aoVP3cV1tFtIXru+lY9lJKSiNYTURgRhek72d3T0xNnz57F119/zQ27FsuWLUNxcTEaN24MkUiEXr16aXaTXLFiBfr164e+ffua3GtyZuwdI24IQ7rtqPIKSUBAAJYsWYL09HRMmTIFDRo0wE8//YSYmBh8/PHHOHbsmN4zVatWrYq+ffsiMTERcXFxdpDcsTD0Q2iJrghh3DMAaEtWF0Dpo4hMwNPTE35+fgKI5Dr8/vvvAID8/PxSvrgDBw5g2bJlOHbsGJo1a4Zp06YhOzvbzhJbj+nTp5dKs1eMuCnomz9xZHktQSQSoW7duujbty++/vprTJ06FXK5HNu3b8f06dOxe/fuUj3T559/Hn5+fpg6dSry8/PtJLlj0KNHj1JpluqKEMb9FICGjLFnGGPuAIYB2CdAuRyofHG6x5WV+OLc3d0xZcoU/PPPP3j99dfxySef4PDhw3aS1PokJiZCJBIhICDAYWLEjaE7f+Lo8gpFYGAgPvnkE2RkZGj2mS8sLERBQQHkcjlOnToFuVwONzc3DB8+HPfu3cO0adPsLbbduHfvHvbu3YsmTZpAKpUKpytEZPEFoC+AqwCuA4gq6/k2bdoQxzQYYwSVm+upizFW6tkLFy6QUqkkIqJt27ZRYmKircW1GkePHiUANHv27DKfBXCaBNDr8lxct/WTm5tLSUlJNHv2bAJAlSpVou7du9O8efOoVatWJJFI6J9//rG3mHZh7Nix5ObmRhcvXizzWXN0m78ADo5MJtNr3GUymcE8crmc6tevTwBozJgxdPv2bdsJLCBxcXEkk8mIMUYSiYSqV69OOTk5Zebjxt1xUSgUtGvXLurevTu5ubkRAAoKCiJ3d3d66aWXNJ0TV0dbtwFQv379TMrHjbsLERcXR15eXk8ZdrFYTHFxcUbzZWdn04wZM0gikZCPjw8tWbKECgsLbSS15ehrt4eHR5ntJuLG3VlIS0ujyZMnU/369WnAgAEEgObNm0fnz5+3t2hWRZ9uV6pUSXDd5i+AE6D9K1+1alUCQN99951Jea9evUovv/wyMcbozJkzVpZUOMozYimBG3fnQqFQ0L1796hZs2aa3nynTp1o69atlJeXZ2/xBMdWus1fACdDLpdTs2bNKCgoiJ48eWJyPu3e0OrVq+nq1avWEE8wzJlr0IUbd+fkjz/+IADUrVs3CgkJIQBUtWpVWr9+vb1FExRb6bZD7grJMYxEIsEXX3yB9PR0BAYGmrwPRdOmTQGoztWcM2cOnn32WUyfPt1hQycrQow452k6deqEcePG4ejRoxq9lMvlmjUcGRkZ2L59u9OHTdpKt7lxd0JSUlIgFouRnZ0NIvP2oahRowYuX76MiIgILF26FKGhodi6davDrZicN29eqVOBXDVGnPMfbdu2BRFp9k/Ky8vDF198gfj4eOzcuROjRo1CYGAgJk+erNk+2dkYPHhwqTSr6LapXXwhLz50tQxLfHba/Pnnn9S+fXvy8vKizMxM6whbTqZMmUIAyM/PjxhjJJPJTJpwIuJuGWfGmG4rlUo6fPgwDR06lCQSCQGgHj16UHFxsb3FNpknT55QUFAQBQYGklQqtapu8xfACbHEZ6eLQqGgc+fOERGRUqmkxYsX2z10MikpiUQiEUVGRpYrPzfuzoupun337l1asmQJTZ48WZO2evVqunTpkq1FNosPPviAGGN0/PjxcuXnxt3FEarnrsv58+c1oZNLly61eehkXFwcSaVSAkAikajcE2ncuDsv5dXtO3fuaHrzXbt2pfj4eMrPz7eN0GWgG9Peq1evcpfFjbuLoy9OViQSmTy0M8aVK1eob9++BIBCQkLoxx9/FEDistHXJi8vr3K1iRt350WfHri7u5ukB3fu3KFFixZRvXr1CADVqFGDfvvtNxtIbRhLYtr1wY17BUC7N1C9enUCQBs3bhSs/P3791PDhg0pMDDQJj0gIUcj3Lg7N9q67e7uTt7e3nT37l2T8ysUCvr5559p2LBh9ODBAyIiOnDgAO3YsYMKCgqsJbZehB5lc+NewVAoFNS9e3fy9PSkwMBAsydpDFFYWEjJycma/y9atIiys7OFELkUQs4jcOPuOiQnJ5O7uzu1b99eY/DLo9uDBw8mAFSzZk368MMPbbbOQ0i9JuLGvUKyfPnyUgpUXreGPvbv308AqE6dOrR161ZSKBSClFtCycpb3nPn6DJkyBCLdfWgIUsAACAASURBVFuhUNBPP/1EgwcP1qyCnTRpkhWlVhEUFMR77hzLsNYkqzaJiYnUrl07AkAdOnSgkydPClJuUlISMcZILBZznzunFCWT7ELp9u3btyk2NpYSEhKIiOjRo0c0ffp0q/Tm+/TpI2inixv3CojQwz9DKBQK2rx5M/n5+VHbtm0t3sUvLy+PGjduTIGBgbRu3TqLht4lcOPuWlhbt/fv36/pWPTs2ZO+/vprQSLFfvnlFwJAL7zwgiB6TcSNe4XEFj13bR4/fqzZf/vff/+llStXmvVClEyalcg5Y8YMwWTjxt21sIVuZ2ZmUkxMjKau2rVrayZjzSUuLo7q1q1LAMjNzY02bdokmJzcuFdA9IVcubm5CeZzN8Znn31GACg0NJQOHDhQLlmFnB/gxt210Kcvnp6eVtHt4uJiOnDgAEVFRWnSFi1aRAkJCSZ1XhxJt/kL4EJoh5D5+PgQAI1f0dr88MMP1LBhQwJA/fv3N3qqjrV7Yty4ux7aui0Wi6l69erl7lmbg1wu1+h17dq1aebMmXT9+nWDzzuSbvMXwEWRy+XUoUMH8vDwoICAAMHCI41RUFBAixcvpsqVK9PQoUMNPmdtHyo37q7NqVOnSCQSUaVKlWyi18XFxfTjjz9SeHi4xje/YcMGvc86km7zF8CFWblypVXDIw2RmZlJGRkZRER0+fJl2r59u2biValUlhq28p47xxzi4uI0Ww3YUq+JiDIyMmjBggV048YNIlJNms6aNYtu3LhBKSkpJBKJHEa3+Qvgwth6klUfkydPJkB1RB4ATTy7NV9ObtxdG0fQ6xJee+21p3rnYrFYo+v21m2+n7sLk5aWZla6NWjVqhXc3d1RWFgIAMjKyoJIJML48eMhk8nAGINMJsP69esRERFhM7k4zosj6DUAxMfH44cfftB8JiIoFApUrVrVIXTbzeY1cmyGVCpFamqq3nRbMXfuXMjl8qfSlEolfvzxR6SkpNhMDo7rYEiv/f39bSpHVFQU8vLySqUrFAqkpKRALpdj1KhR8PLyQlFRESQSiU3l4z13FyY2NhZeXl6l0qVSKYKDg00+os8SjPWyjh07hkOHDlmtbo5rok+vGWPIysoy6+hJSzGk2w8ePAAAXLt2DceOHcOgQYMgk8kwZ84c23ZoTPXfCHlxv6Tt0A4hk0qlev2V1pyM8vPzM+gfHTBgAAGgAQMG0LVr1wSrE9zn7vJo67VMJqOhQ4faVK+VSiX5+vqW6fsvKiqiffv2Ub9+/UgkEhFjjP7+++9y12uObvMXoIIh9EZGumi/dLVr19YotL6XTjt00t3dnWbNmkVPnjyxWAZu3Csetphk1dbtypUraxYKmvqDkpqaSsuWLdNEji1cuJDmzp1LKSkpJsvAjTvHINaMw9W3Oo8xRqNHjza6t8atW7do1KhRBKDcpy9pw417xcPa8eWGVoBPnDix3PvGjBgxghhjxBijvn370t69e6moqMhoHm7cOQYx1MMRi8UWLwixtPd06tQpjXJ///33dOrUqXLJwY17xcOQ7lWqVKlcB1GbWr6lI4OUlBSaO3cuBQQEEAD64IMPjD7PjTvHIPp6IJb4KnXPhxSi96RUKqlp06bEGKPx48ebdQoPETfuFRFDo8by6rbuXJVQum2IoqIi2rNnj+ZwHEPYzLgDGAIgGYASQJip+fgLYF909+nQp7TVq1cvNdzUncSaOHFimT8U5e3dZGVl0dSpU8nNzY2qVKlCK1asILlcblJebtwrJrr6WaNGDb36WKNGjVJ6XB69Ftqnbwq2NO6NAYQC+JUbd+fEWI9b+5JIJOTu7m7Ss+UdBejj0qVLmgMPfv75Z5PycOPOITJdt029DAUG2BJzdNuiOHciukREVywpg2NfTF3QVFRUVGoxkjGEWp3XqFEj/Pjjjzhx4gSef/55AMBXX32FGzdulLtMTsVA6MV6ROQQK09NxWaLmBhjkYyx04yx0/fv37dVtZwyMLTQyRJkMhmUSiVSUlIEUX7GGDp06AAAyM3NxXvvvYfr169bXK5QcN12TITWbZlMhpSUFEF125qUadwZY78wxi7oucLNqYiI1hNRGBGF1apVq/wScwQlIiIC69evf6pHUqNGDZPzM8ae+uzl5YXY2FihxdTg7e2Nq1ev4oUXXrBaHebCddsxsUS3ba3XVsFU/42xC9zn7lLoizzQ53P38vKyKM7XWoD73DkGMDVazBH1msg83eYbh3FKUTLcjIqKQlpaGqRSqabXopvm6ENTDkcbfbrdt29f/Pjjjy6n10z1Y1DOzIy9AmA1gFoAsgD8TUS9y8oXFhZGp0+fLne9HI4xGGNJRBRmj7q5bnOsiTm6bVHPnYi+A/CdJWVwOBwOR3j4lr8cDofjgnDjzuFwOC4IN+4cDofjgnDjzuFwOC4IN+4cDofjgnDjzuFwOC4IN+4cDofjgnDjzuFwOC6IRStUy10pY/cBpBq4XRPAvzYUxxCOIgfAZdGHMTlkRGSXHbyM6LajfG8Al0UfjiIHIJBu28W4G4MxdtpeS8cdUQ6Ay+LIcpiKI8nLZXFcOQDhZOFuGQ6Hw3FBuHHncDgcF8QRjft6ewugxlHkALgs+nAUOUzFkeTlspTGUeQABJLF4XzuhmCMbQGQQURz7C0LhyMUXK851sIRe+4uB2OsKWPsEGPsX/UJ6k4NY6wXY+wyYyyPMXaEMSYz8uyvjLECxliO+rpialmMsWjGWJFW3hzGWD1rto1jOhVZr7XyNFTrd5xWWjBjjHT0dq7W/aqMsa2MsXvqK9oa7anQxp0xZquTqIoAJAAYJ3TB+tpgbrvMeZ4xVhPAbgBzAVQHcBrAzjKyvUNEldVXqJll7dTKW5mIbpgqa0WF67X5z5dTrwHgcwCnDNyrqqW3C7XSVwDwAhAMoB2A1xljY02V1VQc1rgzxloxxs4wxp4wxnYC8NS6148x9jdjLIsxdpwx1lzrXmvG2F/qfLsYYzsZYzHqe90ZYxmMsRmMsTsANptQXgBj7FvG2H3G2E3G2HvmtoWIrhDRlwCSDbR1DWNsjSl1qnuz3zDG4hhj2QDGGEjzYIytZIxlqq+VjDEPY9+DiQwCkExEu4ioAEA0gBaMsUbmfi8Cl+UUcL12Hb1mjA2D6gS6w2bUAwD9ASwhojwiSgHwJYA3zCyjbEw9bNWWFwB3qBaCTAYgAfAqVL2EGACtAdwD0B6AGMBoACkAPLTyva/ONwiAHECMutzuAIoBLFY/X6mM8kQAkgDMU5ddD8ANAL3V5Y2A6o9r6JLqtKuB6is32vay6oxWfxcD1c9WMpC2AEAigNpQHYN4HMBCI9+DtIy2jFDn/RTAFzoyXwAw2EB7fgVwH6pFGX8A6K51z2hZ6nY9BvAQKgMy0d66yfWa67X6ni+AqwCC1HLGad0Lhuqw7VsAMqD6kampdf9fAO20PkcBeCS4vtlb4Q18cV0BZEI94atOO65+Cb4o+WNq3bsCoJs63y2dfMd0XgI5AE+t+8bKaw8gTefeLACby9kuU14Co3WqFemozn19adcB9NX63BtAiqHvwYw2fAngfzppfwAYY6Q9PuqXbTSAJwDqm1IWgCYAAqAyTp0A3AYw3N76yfWa6zVUPwYztOTUNu6VAYRBdYypH4BvABzSuh8HlQvIR/3dXQdQKLS+2co3Zy4BAG6R+ptQU7KkWwZgNGPsXa177uo8pCdfuk7Z90k17CrBWHkKAAGMsSyte2IAv5vbIDOQmVCnbpv0pQXg6WXwqeq0EnS/B1PJgarXoo0vVEa7FET0p9bHrYyx4QD6QnWwutGyiOiiVvpxxtinUPV2d5RDbkeA67UL6DVjrCWA5wG00lcQEeVA5bMHgLuMsXcA3GaM+RJRNoD3oNL/fwA8gEqfh5dDZqM4qnG/DSCQMca0FFoK1S9cOoBYIorVzcQY66YnX5A6Xwm6s/rGyusI4CYRNdQnJGMsAsA6I+1oQkRpRu7rI91YnWr0RSbopmVC9UKV+EOl6jS9zzPGpAC0jakubxJRvLq80Vr5vAHUhwG/qwE5mfr/5palndcZ4XrtGnrdHSrXSxpjDFD11MWMsSZE1NpIGxgAENFDABFadX0M4KQRGcuH0EMBIS6oehhpUPkY3aDyMZb4JsOgUpT26i/LG8DLUA1xSvK9q84XjtK+yQyduoyVJ4bKTzgDKv+dGEBTAG3NbA+DauKsCVR/aE8AHlr3twDYov6/0TqhMwQ0khYD1ZC/FlQbEekO4zPMaYNWubWg8oMPVrdjMYBEA89WhWrY7Kn+e0QAyAUQakpZ6r9fNfX31w4q18Roe+sn1+sKr9deAPy1rk+gcr3UUt9vDyAUqnmCGlBF3RzRyl9fnS4G8BJUPvhnhdY3h4yWISI5VIo/BsAjAEOh8lGBiE4DmADgM/W9a+rntPONg2qyZCSAHwAUGqnLWHkKqGa2WwK4CdUfYSOAKmY2SQYgH//1AvKh8n+WEASVf0/IOmOgGhqeA3AewBl1mkUQ0X2oXoBYqL6v9gCGldxnjM1mjB1Qf5So6yyZUH0XwEAiumJKWer/X4NqaLwNwGIi2mppG+wF12vX0GtSRbncKbmgcukUqMsAVJPFB6HS2wtQ/Z203S5t1LI/AbAIQAQRmTryNRmnWaFaXhhjfwJYS0Sb7S2LPhhj7gDOAmhOREX2lofjHHC95pSFQ/bcLYEx1o0x5s8Yc2OMjQbQHKpfUYeEiORE1Ji/ABxjcL3mmIujTqhaQihUq+YqQzXh9CoR3bavSByOxXC95piFy7tlOBwOpyLicm4ZDofD4djJLVOzZk0KDg62R9WcCkBSUtK/ZKczVLluc6yJObptF+MeHByM06dPl/0gh1MOGGOGDl+3Oly3OdbEHN3mbhkOh8NxQbhx53A4HBeEG3cOh8NxQbhx53A4HBeEG3cOh8NxQbhx53A4HBdEEOPOGNvEVKd4XxCiPHsRHx+P4OBgiEQiBAcHIz4+Xm8ah2MuhYWFUCgUdquf63YFRKB9qrtCdWbjBVOeb9OmDdmbuLg4kslkxBgjmUxGEydOJC8vL4JqX2oCQBKJhNzd3Z9K8/Lyori4OHuLzzECgNNkpz3bDen2tGnTqG3btpSUlCR4e3Xhuu26mKPbgik1VCeTOIVxj4uLK6XsjLGnPhu7ZDKZXeXnGMcRjfuOHTvIz8+PRCIRvfvuu5SVlSV4u4n067Y5F9dtx8YhjTuASKg22T8tlUqt/R0YRSaTlVv5tV+Ckp4R7+04FrY27qbq9qNHj2jSpEnEGKM6derQ4cOHhW66ILrN9dpxcUjjrn3Zo+euPVS1VPl1Lz6cdSwcseeuzalTp6hTp0506dIlIiJSKpXlbquuC4brtWvDjbsOpg5VdQ2/Pr8kH846Po5u3ImeNugjR46kefPmUX5+vlntNMcFU17d5nrtWJij2xUiFDIqKgp5eXlGn/Hy8sJbb70FmUwGxhhkMhk2b96MTZs2PZVmiNTUVB55wDEZxhgAoKioCEqlEgsWLEDTpk1x6NAhk8swpNclZZdgim4bguu1E2Pqr4CxC8AOALehOsk9A8A4Y88b6t3cv3+fmjdvTv/73//o1q1bgv3aGXPFmOtfNHXoy4e09gNO0HPX5ZdffqGQkBACQEOGDKE7d+6UmceYXps7J8T12jkwR7cd6gW4cOECPffccwSARCIR9e3bl3bt2kUFBQXl/jJycnLI09NTsCGnOUNhPqS1D85o3ImICgoKaOHChRQYGEj37t0r83k/Pz+u1xUMpzXuJVy9epVmz55NdevWJQB0/fp1IiJ68uSJSZNP2pNMJX5FIWN6TZ3EYoyVq3yOZTircS+hxPdeXFxMb7zxBp04cUJzr6zAAK7Xro3TG/cSiouLKTExUfM5PDycmjVrRsuXL6e7d+/qzaOvB+Lh4UETJ060WviioReB93Dsg7Mb9xKuX79OgYGBxBijyMhIWrt2rd7FSDVq1OB6XUFwGeOuy4YNG6hdu3YEgNzc3Cg8PJx+/vnnp56xh0IaWhRlrZeOYxxXMe5ERNnZ2TRlyhQSi8UkEolsqtuGXDUvvfQSX+dhJ1zWuJeQnJxMH374Ifn5+dFHH31ERESFhYV09uxZg8NVaw8ltYe0lSpV4hNRdsSVjHsJf//9t13cJNp6HRQURDVr1uS6bUdc3riXUFRURDk5OURE9O2332omYu09lOTDWfviisb90aNHJBaL7a5XJfNgXLftgzm67dRx7m5ubtizZw+Cg4MxePBgeHt7Q6lUlnrOy8sLsbGxNpMrLS3NrHQORx/auzbWqVMHCoUCHh4eTz3DGMOgQYNsJtOtW7f0pnPddjyc2rjHx8cjMjISqamqA8Fzc3MhEokwePBg+Pj4AACkUinWr18Pb29vXLp0ySZySaVSs9I5HF20dZuIUFBQAHd3d7zxxhuahUd+fn4IDAzEihUrEB4ernkPrAnXbSfC1C6+kJdQQ9ey3B8lYZPFxcVUu3ZtAkDt27entWvX0qNHjwSRQR+GJlg3b95stTo5/wEXcMuY6tqTy+W0ZMkS8vLyopdeekmQuo2hT7clEgn3udsIc3TbqXvuZbk/SpZVi8VinDt3Dp988glyc3Px1ltvoU6dOti4caNV5IqIiMD69es1PaxatWqBiHDy5Emr1MdxPUx17UkkEkybNg2XLl3C6tWrAahcJ0ePHrWKXLq6XalSJRQXF+OZZ56xSn0cCzD1V0DIy9a9G22USiWdPn2aJk2aRH/++ScREZ05c4aioqLo6tWrgsilj2nTphEAqlmzJg8hszJwgZ67VCot98TlpEmTCACNHj3apJWulpCVlUX16tWjatWqUd26dbluWxlzdNupX4CPP/5YkLCsVatWaaJsOnfuTF9++SVlZ2cLImMJW7duLRXJw0PIrIMrGPd+/fqVW7dzc3Np1qxZJJFIqFq1arRu3TpSKBSCyKWPhQsX8vBIG1EhjHt+fj41a9aMfH19BekxZGRk0KJFiyg0NJQAUGBgIBUXF1ssZwk8PNJ2OLtx/+2334gxRj169LBosdDFixepW7duBIAWLFhgsVyG4LptO1zWuGsvqPD19SUAtH///nKVZQilUknHjx/XvEhKpZJ69+5N0dHRdPPmzXKXa6/FVRURZzTu2rotFoupdu3a9OTJk3KVpY1SqaTt27drtuu4efOm4KNSrtu2wyWNu75Zejc3N6sP/R4+fEi9evXS1NmjRw/atm0b5ebmmlUO793YDmcz7ob2QxJat5VKJXXs2JECAgIoISHBohOgtOG6bTtc0rjbW4FSUlJowYIFVK9ePQJACQkJRKTaptXUnSp1X2CRSETbtm2ztugVDmcz7rbU7cTERGrVqhUBoN69e9O1a9csLpOHR9oOlzTujjL0UygU9Ouvv2r2mF+4cCE1bNiQYmNjKT093Whe7aF3yR4dS5YssYXYFQpnM+621u2ioiL69NNPycfHhzw8POi3336zuExt3fb09CR3d3eL3Jgc/bikcbd3z90Q3333HXXt2lXzMr744ou0a9euMvMplUoaOHAgicViCggI4CFkAuJsxt1eun3r1i16//33NfvHP3z4UJByU1NTqXLlyvTss8+SVCrlui0gLmnct2zZUqqH40jhVteuXaM5c+aQVCql/v37a9IvXbpk0G3z2Wef8RAyK+Bsxn3OnDl214OcnBySyWQ0bNgwyszMtLi8sWPH2r1NrohLGveSWNpatWo5dE9AoVDQ/fv3iYjoxo0bBICaNGlCS5cupdu3bz/1rKOORpwdZzLuBQUFFBoaSjVr1qSgoCC76XZ+fj5FR0eTh4cH+fr60urVqy0KBbZkERbHMC5n3K9cuUIeHh702muvmftd2JXs7Gxat24ddezYkQCQWCymfv36aVbCOso8gqvhTMZ9/vz5BIAOHjxY7vYKydWrV+mFF14gANS6detyr3Dlum0dzNFth95bJj4+HjKZDKGhoZDL5ejWrZu9RTILHx8fREZG4vjx47h06RKmTZuG8+fPo0qVKgAAPz8/vfn4DnuujfZWvh999BE6duyI3r1721ssAEDDhg1x6NAh7Ny5Ew0bNkTNmjUBQO9W2sbgu0c6AKb+Cgh5mdK70Rde5Qo+O23/+7PPPluqZ2ON+OaKBhy4565PrytVquTQf/Nbt25Rw4YNafv27SbHxjtjO50Bc3TbIV8Aoorhj37w4AGNHj2a3N3dn/oBK4le4JQPRzbuzqjXV65cofbt2xPUi/guXbpkUj7t8EgANGjQICtL6vq4hHGvaD67c+fO0auvvkoAKDo6mh4/fkzTpk2j8+fP21s0p8ORjbuz6rVCoaC1a9dS1apVSSKRUFRUlFkrXEeMGEHu7u5W3Xm1IuASxt3f39/pejhCMGzYMBKLxVS9enVNm5955hn6/PPPBYtDdnUc2bg7Y89dm7t379KoUaNo1KhRZuW7ffs2eXp6kqenp0NHuzk65ui2Q06olpwVWXLYRgm2PgvVHjz33HNQKBR4+PChJi0lJQWTJk1CnTp1DJ5hyXEOxo0bVyrNmfS6du3a2Lp1KzZt2gQA+PvvvzFkyBCkp6cbzXf48GEoFAoUFBSAiJCamorIyEjEx8fbQuyKiam/AkJeZfVu1qxZQwDonXfesWjLU2fEUM+uTp06tHjxYs1zU6ZMoZkzZ9KVK1fsKK1jAgftuSsUCmrbti35+vraNaZdSOLj46lSpUrk7e1NS5YsIblcrvc5Zx+xOArm6LbDvQD37t2jqlWrUs+ePQXbtc6ZMMUnq1Qq6bXXXiOxWEwAqG3btrR+/Xp6/PixHSV3HBzVuK9fv54A0Pbt2wVtr725efOm5nCRpk2b0u+//17qGWeda3A0zNFtQdwyjLE+jLErjLFrjLGZ5SmjJPa3du3ayMrKQu/evUu5ZSoCpsQHM8awc+dOpKenY+jQoUhLS0NkZCQmT56M/Px8KJVKs+OSnQXtGPHg4GCHH9Zry/vWW28hNDQUERER9hZLUIKDg7Fv3z7s2bMHjx8/xi+//FLqGR73bgdM/RUwdAEQA7gOoB4AdwBnATQxlke3d+OqMe3lQd934enpafC72LZtG61evZqmTp1K8+fPp1WrVlF0dDQFBgbS3Llz6fr16zZugfUwVU/gID13c/+WrkBOTo4mlPfAgQO0ceNGUigUBre8duXvojyUdUCLObotRM+9HYBrRHSDiOQAvgYQbk4BUVFRyMvLeyotLy8PUVFRAojnXOieLs8YQ8OGDTFixAiDeUQiEUJCQhAQEACJRIJHjx7Bx8cHMTExqF+/Pjp37owtW7agqKjIhi0RHmfTE33yFhQUOKy8QuDt7Q1PT08AQFxcHMaPH48uXbqgWbNmT+l1tWrVoFQqIZFI7Cyx41BUVIT27dtj6tSpgpQnhHEPBKA9VZ6hTnsKxlgkY+w0Y+z0/fv3n7qXlpamt2BD6a5OREQEUlJSoFQqsWLFCpw/fx579uwxKa9IJEKTJk0wefJkxMTE4OWXX8aVK1cwZcoUXLx4EYWFhUhNTS0ZdTkVjqonhnTbUeW1Fdu3b8fmzZtx9epVtG7dGmfOnMH58+ehVCpx//59tGrVClOmTEFOTo69RXUIVq1ahYsXL0IkEiaIUYhS9DnGS1kOIlpPRGFEFFarVq2n7nF/nGEmTZqEunXrYsiQIWb7mWvWrIkBAwZg4cKFmDx5Mn777Td88cUXaNWqFZ555hksWLDAqQyNo+qJId12VHltBWMMY8aMweXLlzF27FgsX74c+/btAwCIxWJ8/vnnuHXrFgIDA51mDsVa3Lp1C9HR0WjWrBmeffZZQcoUwrhnAAjS+lwXQKY5BcTGxsLLy+upNGeK/bUmO3fuxP3796FQKEBUvvhgkUgEPz8/eHp6QiKRoG/fvnB3d8f8+fMRHByMHj164I8//rBiK4Rh2LBhpdIcWU+4XquoUaMGNmzYgL/++kvjXvzhhx+QmJgIsViM7Ozscuu2q/Dhhx9CLpfj5ZdfFqxMZunwnDHmBuAqgF4AbgE4BWAEESUbyhMWFkanT59+Ki0+Ph5RUVFIS0uDVCpFbGysy0UVlIfg4GCkpqaWSpfJZEhJScH27dvx5MkTuLm5mV32nTt3cOLECZw8eRJvvvkmRo4cCTc3Nzx48AAdOnRwqGilwsJCNG/eHFlZWfD09ER6erpBPWGMJRFRmD3k1NVtrtelkcvlqFevHjIzM/W6B0t0u6Lwf//3f+jVqxf69OmDfv36wdvbG2PGjNH7rDm6bbFxV1fYF8BKqCJnNhGR0a6JPuPO0Y9IJNL7AjDGoFQqLTLuJSgUCs1k6759+3D48GHUr18f48aNw+jRoxEQEFDusoVi0aJFmD17Ng4cOIA+ffoYfdaRjDtHPxkZGQgKCtJ7r0S3KwJyuRwtW7bEgwcPMG3aNHh5ecHLy0sQ4y6I556IfiSiECKqX5Zh55iHLfy2YrEYnp6e8PT0xMsvv4xhw4aBiDB79mwEBQVh4MCBdpmA1Y4Rj4qKQlhYWJmGneMc1K1bFzKZTO+9ijInAagmUS9duoTw8HD4+PgIWrZD7i3D+Q99flvGGObOnWuV+ry9vdGjRw/MmDED8+fPx/PPP4+cnBzs2rULly9fxoIFC3D69GmrG/v4+HhERkZqInuICMnJyRXSH+uq6NNtNzc3jB49GgqFwk5S2Y6MjAxER0ejefPmaNGiheBuUG7cHRzduHd/f3+NobM2AQEBGDx4MIYMGYK7d+8iISEBMTExaNu2LZo3b47ly5fj7t27VqlbX4x4fn6+S8eIVzR0dbty5cooLi5GbGwsOnTogKSkJHuLaFWmTp2KoqIiDBw40Crx/ty4OwHace+3b9/Gm2++iVWrVuHs2bM2qZ8xBg8PD/j7+yM2NhajR4+Gt7c3pk6dirp16+pdbm4pFT1GvKKgrdtpaWmoWbMmgoODkZ6ejrZtdBhJeAAAEZtJREFU2+Kdd97B48eP7S2m4Ozfvx8JCQl44YUXUKdOHavUwY27E/Lxxx+jevXqmDhxos0nnkrcNomJiUhOTsaHH36IDh06AAC+/PJLTJ48GefOnbO4nooeI14RqVatGpYtW4br16+jsLAQRITPP/8cDRo0QEFBgb3FE4ycnBy8/fbbCAwMRK9evQRbtKQLN+5OSPXq1bF06VKcOHECR48etZscTZo0waJFi1C5cmUAwLVr17BmzRq0aNECrVu3xurVq/HgwYNylR0ZGVkqrSLGiFc0xGIxRCIRsrKyNGnZ2dn49ttvAcAlzjOYP38+0tLSMHjw4FJzDkLCjbuTMmrUKHTp0gU7d+50mGHrokWLkJmZidWrV4Mxhvfee++pPXFMHWUoFAp899138PHxQd26dcEYg0wmw/r16yt8jLirExUVVUpP5HI5oqKisH//ftSrVw/z5s1Dfn6+nSS0jDNnzmDlypV47rnn0KhRI6uuJeHG3UlhjGH9+vWQy+X4+uuvHWavmBo1auCdd95BUlISzp49i5iYGACqBVMymQzTp0/HpUuX9OYtCX10c3PD6dOnMWrUKKSnp0OpVCIlJYUb9gqAsbmWNm3aYMiQIVi4cCGaNm2KAwcO2Fg6yyguLkZkZCSqVKmCfv36QSwWW7U+btydmEaNGmHu3Lk4d+4cTp48aW9xStG8eXO0bdsWgGpo3bp1ayxfvhxNmjRB+/btsXbtWjx58gTA06GPJWzevJmHPlYwjM21+Pv7Iy4uDocPH9Zso/HWW2/ZWMLys3r1aiQlJSE8PBzVqlWzen3cuDs5s2bNQtOmTZGQkKAxlI5ISEgI9u7di1u3bmHZsmXIy8vD22+/rfGtzpw506m28+VYB32x72Kx+Km5lp49e2pGhZ07dwagcuUVFxfbVFZzSEtLw9y5c9GsWTO0adPGJlt7cOPu5Li5uSE+Ph4FBQX46quv7C1Omfj5+WHKlCk4d+4cLl++rFmCnpGRofd5HvpYsdCNfff19YVCoUDt2rWfes7DwwNRUVEYOXIkAGDt2rUICwvDiRMn7CG2UZRKJd544w0oFAoMGjQI7u7uNqmXG3cXoHnz5pg5cybOnDnjNAs/GGMICQnRfK5evbre53joY8VDO/b97t27CA0NxfDhwyGVSg1uDSyVSvHgwQN06tQJEyZMKHeUljVYtWoVDh8+jPDwcPj7+9usXm7cXYR58+ahUaNG+Prrr53u8AOlUgk/P79S6RKJBLGxscjPz8eRI0cqzGZSnP/w9PTEsGHD8ODBA6SnpxvcGrh///64ePEipk6dis2bN6NRo0YmH3BjTZKTkzFz5kw0b94cnTt3tlpMuz64cXcRJBIJ4uLikJOTg6+++sphomdMYcWKFbh06RImTJigGY5LpVJs2LABERER2Lt3L3r27In69esjOjoaN2/etLfIHBuyZcuWUmn65mN8fHzwySef4MyZMwgJCYGvr6+NJNSPXC7HyJEj4enpiSFDhtjMHVMCN+4uRJs2bTBr1iwkJSXh999/t7c4RtHe8fHDDz9EmzZtsG7dOs1wPDU1FaNHjwYADBgwAPHx8WjQoAEWLFiAevXq4fvvv7dzCzi2wtytKJo3b45jx46hZ8+eAIDZs2dj+vTpyM3NtZqM+pg/fz7+/vtvDBkyBLqnz9kCbtxdjI8++ggdO3ZEQkIC0tPTy85gB3R3fASAixcvGpwQ9vLywogRI/Dzzz8jJSUFCxcuRPfu3W0oMceelGcripJoFCLCgwcPsHTpUjRu3Bh79+61ioy6/P7771i8eDE6deqEVq1a2eXgG27cXQyxWIzdu3fDx8cHGzZscMiVfJbs+CiVSjFnzhzB977mOC76wiNL5mPKgjGGdevW4ffff0eVKlUwcOBADBgwwKpRWI8fP8aoUaNQu3ZtDBw40KKDdCyBG3cXxN/fHzt27MC9e/cQHx/vcP53vuMjxxx0wyO9vb1RVFSEKVOmmHywdufOnXHmzBksXboUx44ds1qnR6FQYPjw4UhPT8fw4cPt6vfnxt1FefHFFzFjxgycOnXK4fzv+iJjAB72yDGMdnjkqlWrwBjDvXv3zDpYWyKR4MMPP0R6ejpCQ0MBADNmzMBvv/0mmJyzZs3CgQMHMHjwYISEhNj1HGJu3F2YmJgYh/O/37lzB4WFhaWUnu/4yDGVBQsWlBqNmrOa2dvbGwDw8OFDJCQkoHv37hg9ejTu3btnkVzbtm3D0qVL0aVLF3Tt2tXqe8eUBTfuLkyJ/93X1xerV6/Gv//+axc5tCNjZDIZcnJyEBMToxlm8x0fOeYglFuvevXqSE5OxuzZs7Fjxw6EhoZi7dq15VpPkZiYiAkTJqBRo0YYNGiQVU5WMhdu3F0cf39//PLLLygqKsLKlSttvj2wbmSMXC7XGPSSYTbf8ZFjDobcdyVbWZhDyYjx7NmzaNmyJaKiovDo0SOzysjIyMArr7yCatWqYdSoUVbdo90cuHGvALRs2RL79+/H48ePsWrVqlKRKtZEX2RMyf7cHE550Bc9AwB16tTRjBBNmWTVpnHjxvi///s/nDx5EjVq1IBCocDSpUuRnZ1tNN+jR48QHh6Ox48fY8yYMQa30bAH3LhXELp3746EhATcvn0bn3/+OYqKimxSL4+M4QiNbvSMVCpFgwYN8Oeff2pGiKZOsmrDGEP9+vUBAMeOHcOMGTMQGhqKHTt26I04u3v3Lrp3745z585h5MiRCA4OtusEqi7cuFcgwsPDsWHDBly7dg3r1q2DQqEQvA5d/7qHh4fe53hkDMcStKNnUlNTIZfLSz1jyZbR3bp1Q2JiIjw9PTFixAj06NED//zzj+Z+amoqunTpgqtXr2L8+PFo3bq1TfeNMQXHkoZjdcaOHYvFixfj/PnzWLZsmaA+eF3/elpaGgoKCkpFDfDIGI7QGIoGs2SE2K5dO0RHR2PgwIFITExEnz59kJeXhytXrqBLly7IzMzEm2++iRYtWjicYQe4ca+QTJ8+HRs2bEB6ejpiYmKe6pFYgj7/OgBUqVKFR8ZwrIqhkWC1atXK7YcHVBFnzz//PBYsWIDBgwdrwosfPnyIiRMnonHjxg5p2AFu3Css48ePx/Hjx+Ht7Y3ly5fj8OHD5VrJqu2G0T4iT5tHjx7xyBiOVTE0yfrw4UOL/PAleHl54f/bu/vQKPI7juPvbx4qyUWSaFrrQ2MUG2gPFc9FPC3lCmKt9ZD6AC2BoESCYoP+YaEiGDAJosQHihEaJWCJ3BGttlJ72oqESuRactXsJcanng81Vk+N2Bhda9xf/9jJ3brZTSbZmdl1/b4guDvz+81+HL755bczs7OXLl1i586dPH/+nN7eXs6ePZs0X04fjQ7ub7HZs2fT0dHB/PnzaWpqor6+nvv379vuH+0GYNHo8XXltsiTrJMnTyY3N3dAu2fPnrFhw4ZhzeY7OzvZtm0bJ0+eZNasWTQ2NrJ+/Xr8fj9bt27lzJkzrpy/ildcg7uIrBSRDhEJiojPqVDKO/n5+TQ3N7Np0yb8fj+VlZXU1dVx7dq1IWfysQ7DhNPj68or4SdZb968GfMyxkePHr02m1+9ejUFBQWvDfbGGNrb29m/fz91dXVAqN5Pnz7N8uXL2bdvHxcuXGD69OkcOXIkKb9DQeIJJCLfA4LAb4FNxphWO/18Pp9pbbXVVHnoxo0bVFVV0dTURG9vL4WFhcyZM4fc3Fxyc3MZPXo0WVlZPH78mLS0NLZv3x5zW/2XqNXU1Hh+GEZEPjPGJGSyobWdPIqKimIeKhxMeno6OTk5PHnyhIyMDBYuXEhNTQ0zZ84ccKmjMYYDBw7Q3d1NdnY2gUCAzMzMr25xMFx9fX1kZ2ezatWqqOuHU9tx3YvSGNNpvWA8m1FJYsqUKTQ0NLB3715qa2upr6/n6NGjUdtmZGQwatQoXrx4MWBd/6dPlUqkmpoaysvLh/2hvVevXvHy5UsOHjyIz+ejuLiYrKysqG1FhPLycoLBIG1tbaxZs4arV6+yYsUK5s6dm9CxMa6Z+1cbEWlmiJm7iJQD5QCFhYWzR/IXVXkrGAxy+fJlbt26RVdXF11dXdy7d4+pU6eydu1aTpw4MeCXJzs7O+FXw3g9c9faTl6HDx9my5Yt3L59m8LCQp4+fWrry7NFZET3mGlpaaGsrIwrV64wbdo0SkpKmDBhgu3+Ts7chxzcReQMEO0ru7cYY/5otWlGD8u8lSJ/eRJxGCaSHpZRsfRfBDDUbD6ed5/BYJAdO3ZQXV1NIBCgrKwMn89eOXp6WMYYs8BWKvVWKikpSfhgrpRd/bXaPyEZM2YMPT09r33CNd6LANLS0ti8eTOlpaVUVFRQVFREIBDAGBPz8I4b9FJIpdRbJfyqmocPH9LQ0ODKh+wmTpzIsWPHWLduHePGjWP37t3U1dXR3d3twP9iaPFeCvkzEbkDvA+cFJHTzsRSSilvRF5C6fQ70fz8fJYtW8bKlSvp7OyksrKSU6dOuX5tfFyDuzHmuDFmkjFmlDFmnDHmx04FU0qpVJGZmUltbS3t7e34fD6OHz9OVVUVDx48cO019bCMUkp5pLi4mJaWFg4dOsTYsWPJysqir6/PlQ9A6eCulFIeKy0tpa2tjQULFhAIBKiurubcuXMjuvwyFh3clVIqAdLS0pgxYwZLliwhLy+PxsZGdu3a5dg3pengrpRSCVRcXIzf72fPnj2MHz+enJwcR7Yb1+0HlFJKxU9E2LhxIxUVFfT09DiyTZ25K6VUkkhPTycvL8+RbengrpRSKUgHd6WUSkGO3BVy2C8q8gCIdeu8AuChh3FiSZYcoFmiGSzHZGPMN70M02+Q2k6W/QaaJZpkyQEO1XZCBvfBiEhrou7ol4w5QLMkcw67kimvZkneHOBcFj0so5RSKUgHd6WUSkHJOLjXJzqAJVlygGaJJlly2JVMeTXLQMmSAxzKknTH3JVSSsUvGWfuSiml4qSDu1JKpSDPBncRWSQiV0Tkuoj8Osp6EZHfWOv9IvKe3b4uZCmxMvhF5LyIzAxbd1NEPheRiyIS1zch28jxgYg8sV7roohstdvXhSy/CsvRLiKvRGSMtc7JfdIgIl+KSHuM9Z7VyTAya20PP4fW9sD1ztaJMcb1HyAd+BcwFfgG0AZ8P6LNYuATQIC5wN/t9nUhyzwg33r8k/4s1vObQIFH++QD4E8j6et0loj2HwJnnd4n1rZ+CLwHtMdY70mdaG1rbb/pte3VzH0OcN0Y84Ux5n/Ax8DSiDZLgd+ZkE+BPBEZb7Ovo1mMMeeNMY+tp58Ck+J4vRHncKmvE9v7BfBRHK8XkzHmb8Bg3yDsVZ3YpbU9ghwu9XVieylT214N7hOBf4c9v2Mts9PGTl+ns4QrI/TXtJ8B/iIin4lIuQc53heRNhH5RETeHWZfp7MgItnAIuD3YYud2id2eFUn8eax00ZrW2s7nKN14tX93CXKsshrMGO1sdPX6SyhhiI/IvQL8IOwxfONMXdF5FvAX0XksvUX2Y0c/yR0L4mnIrIY+APwXZt9nc7S70OgxRgTPgNxap/Y4VWd2KW1PbIcWtsDOVonXs3c7wDfCXs+Cbhrs42dvk5nQURmAAeBpcaYR/3LjTF3rX+/BI4TesvkSg5jzH+NMU+tx38GMkWkwO7/wcksYX5OxNtWB/eJHV7VSbx57LTR2kZrO4yzdeLEiQIbJxIygC+AKXx9QuDdiDY/5fWTCf+w29eFLIXAdWBexPJ3gNFhj88Di1zM8W2+/qDZHOC2tX883ydWu1xCxwzfcWOfhG2ziNgnnTypE61tre03vbZdLfyI4IuBq4TO+m6xlq0F1lqPBaiz1n8O+Abr63KWg8Bj4KL102otn2rt2DagI94sNnL80nqdNkInv+YN1tfNLNbzVcDHEf2c3icfAf8BXhKasZQlqk60trW23+Ta1tsPKKVUCtJPqCqlVArSwV0ppVKQDu5KKZWCdHBXSqkUpIO7UkqlIB3clVIqBengrpRSKej/pQ9p5zrI7BsAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "kf = KFold(4)\n",
    "fig,axs=subplots(2,2,sharex=True,sharey=True)\n",
    "deg = 1 # polynomial degree\n",
    "for ax,(train_idx,test_idx) in zip(axs.flat,kf.split(xi)):\n",
    "    _=ax.plot(xi,yi,xi[train_idx],yi[train_idx],'ok',color='k')\n",
    "    p = np.polyfit(xi[train_idx],yi[train_idx],deg)\n",
    "    pval = np.polyval(p,xi)\n",
    "    _=ax.plot(xi,pval,'--k')\n",
    "    error = np.mean((pval[test_idx]-yi[test_idx])**2)\n",
    "    _=ax.set_title('degree=%d;error=%3.3g'%(deg,error))\n",
    "    _=ax.fill_between(xi[test_idx],pval[test_idx],yi[test_idx],color='gray',alpha=.8)\n",
    "\n",
    "fig.savefig('fig-machine_learning/learning_theory_003.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- dom:FIGURE: [fig-machine_learning/learning_theory_003.png, width=500 frac=0.85] This shows the folds and errors for the linear model. The shaded areas show the errors in each respective test set (i.e, *cross-validation scores*) for the linear model. <div id=\"fig:learning_theory_003\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:learning_theory_003\"></div>\n",
    "\n",
    "<p>This shows the folds and errors for the linear model. The shaded areas show the errors in each respective test set (i.e, <em>cross-validation scores</em>) for the linear model.</p>\n",
    "<img src=\"fig-machine_learning/learning_theory_003.png\" width=500>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "[Figure](#fig:learning_theory_003) shows the individual folds in each\n",
    "panel.  The circles represent the training data. The diagonal line is\n",
    "the fitted polynomial. The gray shaded areas indicate the regions of\n",
    "errors between the fitted polynomial and the held-out testing data.\n",
    "The larger the gray area, the bigger the cross-validation errors,\n",
    "as are reported in the title of each frame."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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7DOKioqIj4/n0ksv5eabb2b48OF2VBBmMX0S+MCBAyxatIjFixdTWlpKeno6V1xxBddddx1Dhw6lefPmEYtt3LhxJ2x0gTQdVbNzBbHHfYehc+fOHDhwIOgv/8TERJ544gkmTZrEvn37aNmypdfzWPXp1FNP5cILL+SCCy6guLiYTz75hA8++IC//e1vdO3alWnTpjF+/HhatGjRoHGZJnQEUFRUxL/+9S8KCwupqqqid+/ejBkzhvHjx5OdnR21exmeRwWHDh064Qokf+Lj46mqqrIjgjqK5iOAYHYO3KWkpPDYY4/RqVMnCgoK2LhxI6+//joAY8eO5R//+Af9+vUjNzeXAQMGcM4559C9e/da5xvKEYA3ZWVlFBQUsGTJErZu3Urz5s257rrruPXWW+ncuXNYlhGrgsnrcP0o/EgR+VpENorI3V6Gi4g86QxfIyL9w7HcqqoqvvjiCx577DEeeughVq1axdChQ8nLy2PJkiXcd9995OTkRO2XP7j24Ddv3kxVVRWbN2/mySefDPi66uPHj9sNOz40tjtaPeOdNm1awF/+8fHxiAjZ2dnMmTOH66+/nksvvZQHH3yw5ssf4Gc/+xkTJ05EVZkzZw7jx4/n6quvrhn++OOP8/zzz1NYWBj0kUawkpOTOf/887n33nu544476Nq1K0888QRdunRh7NixrFy5sl6X31iFO69DPgIQkXjgG+AiYBvwOfAzVf3SbZxRwFRgFDAIeEJVB9U2b197SkuXLuWpp57i448/pri4mFatWnHhhRcybdo0Bg4c2OBt++FWfVRQVFREixYtOHToUEDT2XkCF297z95OpEfLEUBd9/ah7hcIVF8GffDgQc477zxUlezs7JofOYqLi6Nr165MmDCB6dOn88Ybb/Dll1/Stm3berusc9euXXz44YcUFBRQVlbGsGHDmDFjBhdddFFU78Q1lPrI63AUgHOB+1X1Euf9PQCq+nu3cZ4DFqnqa877r4Hhqur3IfreCsDixYu58sor2bVrF5mZmVx22WVMnTqVHj16NNnrjZ9//nluueWWOjUHxMLVQ96uha8+X+IuOzubzZs317yPlgKQk5MT8H0k9Vnkq6qq+O6771i1ahVr1qxh9erVDB8+nFtuuYVXXnmF8ePHk5SURIcOHcjMzCQzM5NevXqF/cav0tJSFi1axMcff8zBgwfp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X5ZNNYE81zMtLS2g9czOzq6ZR3l5uW7ZskWXLl2qL7zwgt599906a9YsnTFjhnbq1ElTU1NPmPahhx7Sbdu26bJly/Tyyy/XO+64Q5955hn94IMPtKioSI8fPx65D6QOPD9Db///aCoA1fECmp6e3iRzu655DWibNm30sssu01dffVUPHz4c6VWJag1dAM4F3nN7fw9wj8c4zwE/c3v/NdChtnm7byjBHFJG695+XQWz7t7Wu6SkRGfNmqXPPfecPvfcc/rss8/q7Nmz9dFHH9U777xTJ06cqL/97W911qxZOnXqVG3btu1JJ9Lz8/N1//79unTpUr377rt17ty5umzZMt23b1+EP52Tefu8vH1RRksBiNXcDraZqPqiChHRoUOH6kcffRTpVYiIyspKnT9/vlZVVXkdHkxeh3wSWETGACNVdZLz/n+AQap6k9s4/wAeVtfvByMi/wLuUlW/Z8LcT5bl5OR4PXnq7YRXUzyJ5H6SLS4ujuPHj9c6TfVnMXLkSF577bWATxSrKhUVFezbt4+dO3dSUlJC//79SUlJ4dNPP+WNN944YfkZGRksXbqUM844g7Vr17Jnzx569uxJRkZGndc3GJ4nIPfv38+BAwdOGi87O5vNmzfXvI+Wk8CxnNuhnDzu3r07X331FQAHDx6kZcuW9RlqxB09epSXX36ZP/7xj3z77be88847XHbZZSeNF0xeh6MAXAlc4lEABqrqVLdx/gn83qMA3Kmqy73MbzIwGSArK2tA9YYRFxeHr1izs7Pr7eqGaJSfn8/kyZM5cuRIreNmZ2ezfPnyoAqAP6pKeXk5u3btYseOHZSUlPCf//yHK6+8kpSUFN5++23ee+89ANq2bUvv3r3p06cPjz/+OHFxcVRVVREXF76H0AbzWYgIVVVV7u8brAD4ymuw3HYXzP+z+nPr2LEju3bt4tJLL+X666/nggsuCGuORdqePXuYPXs2s2bNYvfu3XTp0oXvfe973HLLLfTv3/+k8YPJ64QwxLcN6Oz2vhNQXIdxAFDVOcAccO0pVffPysryupfkuVcXC6q/BNz3nHxdWlpUVMTq1avDtmwRITk5mc6dO9O583//papKVVUVw4YNo0uXLhQXFxMfH8/27dt5//33azbIK6+8krVr19K3b1/69u1Lv3796N+/Px06dAho+d72GAP5sgBXDkWKr7wG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+Oqrr1iwYMEJPz0azawAGGNMiE499VSuvPJKdu3axdtvv81jjz3WKC4PtQJgjDFhEBcXR35+Pk888QRbt27ld7/7HWvXro10WH6FVABE5FERWS8ia0TkLRFp5WO8zSLyhYisEhF7CpYxpkkSEaZNm8Znn31Geno6s2bN4ssvv4x0WD6FegTwAdBbVc8CvgHu8TPuCFXtF4mnLxpjTEM666yzWLduHdOnT+e0006jrKwsKs8LhFQAVPV9Va103hYAnUIPyRhjGr/U1FT+8Ic/8LOf/Yzy8nIeeOABvv7660iHdYJwngOYACzwMUyB90VkuYhM9jcTEZksIoUiUhjoY4SNiXaW17ErIyODSy65hLi4OP70pz/x4YcfRs3lorUWABH5UETWeulGu40zA6gE8n3MZoiq9gd+ANwoIsN8LU9V56hqrqrmZmRkBLk6xkQny+vY1rt3b9auXcuQIUOYN28eL774Yp1/EjWcan0YnKpe6G+4iFwDXApcoD7KmqoWO393ichbwEBgcfDhGmNM49SqVSsWLVrE9OnTefzxx2nRogVXXnllRH9AJqSngYrISOAu4HxV9fprCiKSCsSp6iHn9cXAA6Es1xhjGqO4uDgee+wxhgwZQklJCceOHYvoj8mEeg7gKaAF8IFzieezACKSKSLznXHaAZ+IyGrgM+CfqvpuiMs1xphG68c//jHXXnstHTt25NFHH6WgoCAicYR0BKCqZ/joXwyMcl5vAk7+5WJjjIlhiYmJjBgxglatWjF37lx27NjB6NGjiYtruPtz7U5gY4yJkDZt2lBQUMCYMWN49913ee655xr05LAVAGOMiaCkpCT++te/8pvf/IbVq1fz0ksvNdiy7SchjTEmwkSE+++/n549e7J161aOHTtGcnJyvV8hZEcAxhgTJa666ipuuukm2rVrR35+Pps2barX5VkBMMaYKJKcnMzQoUPZsGEDjz/+OCtXrqy3ZVkBMMaYKJOZmcnKlSs5/fTTee655/j444/rZTlWAIwxJgq1b9+ewsJCzjvvPF599VXef//9sC/DCoAxxkSp1NRUPvroI6644go6dOhARUVFWOdvBcAYY6JYUlISb775JnfccQeqypo1a8L22wJWAIwxphHIzs6ma9euPP300+Tl5YVlnnYfgDHGNBIXX3wxDzzwADt37gzLPQJWAIwxphH59a9/zZEjR8LyBFErAMYY08ikpKSEZT52DsAYY2KUFQBjjIlREi0/TuyNiOwGirwMSgdKGjgcXyyWk0VLHOA/lmxVbfAf6PWT19B4PruGFC1xQPTEEpa8juoC4IuIFKpqbqTjAIslmuOA6IolENEUb7TEEi1xQPTEEq44rAnIGGNilBUAY4yJUY21AMyJdABuLJaTRUscEF2xBCKa4o2WWKIlDoieWMISR6M8B2CMMSZ0jfUIwBhjTIisABhjTIyKugIgIiNF5GsR2Sgid3sZLiLypDN8jYj0D3TaeohlnBPDGhFZKiJ93YZtFpEvRGSViBTWcxzDReSAs6xVInJfoNPWQyzT3eJYKyLHRaSNMyycn8mLIrJLRNb6GN5geRJEzFGR29GS1wHG0iC5HbN5rapR0wHxwLfAaUASsBro6THOKGABIMBg4N+BTlsPsZwHtHZe/6A6Fuf9ZiC9gT6T4cA/6jJtuGPxGP8y4KNwfybOvIYB/YG1PoY3SJ40ttyOlryOptyO5byOtiOAgcBGVd2kquXA68Boj3FGA/9PXQqAViLSIcBpwxqLqi5V1X3O2wKgUwjLq3Mc9TRtOOb3M+C1EJbnk6ouBvb6GaWh8iRQ0ZLb0ZLXAcVST9OGOq8mk9fRVgA6Alvd3m9z+gUyTiDThjsWdxNxVeZqCrwvIstFZHIDxHGuiKwWkQUi0ivIacMdCyKSAowE/s+td7g+k0A0VJ6EGk8g44Qz5mjJ62Biqe/cjtm8jrbHQXv7hQPP61R9jRPItOGOxTWiyAhcG8r33HoPUdViEWkLfCAi653qXh9xrMD1/I9SERkFvA2cGeC04Y6l2mXAp6rqvjcTrs8kEA2VJ4GKltyOlrwONJaGyO2YzetoOwLYBnR2e98JKA5wnECmDXcsiMhZwAvAaFXdU91fVYudv7uAt3AdotVLHKp6UFVLndfzgUQRSQ90HcIZi5uxeBwmh/EzCURD5Umo8QQyTjhjjpa8DiiWBsrt2M3rcJy4CFeH64hkE9CF/57I6OUxzg858STIZ4FOWw+xZAEbgfM8+qcCLdxeLwVG1mMc7fnvTX0DgS3O59Pgn4kz3qm42jFT6+MzcZtnDr5PljVInjS23I6WvI6m3I7lvK7XpK/jyo8CvsF1RnuG0+964HrntQBPO8O/AHL9TVvPsbwA7ANWOV2h0/805x+wGlgXaiwBxHGTs5zVuE7anedv2vqMxXn/C+B1j+nC/Zm8BuwAKnDt/UyMVJ40ttyOlryOptyO1by2R0EYY0yMirZzAMYYYxqIFQBjjIlRVgCMMSZGWQEwxpgYZQXAGGNilBUAY4yJUVYAjDEmRv1/Vqp6glNhPyIAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,axs=subplots(2,2,sharex=True,sharey=True)\n",
    "deg = 2 # polynomial degree\n",
    "for ax,(train_idx,test_idx) in zip(axs.flat,kf.split(xi)):\n",
    "    _=ax.plot(xi,yi,xi[train_idx],yi[train_idx],'ok',color='k')\n",
    "    p = np.polyfit(xi[train_idx],yi[train_idx],deg)\n",
    "    pval = np.polyval(p,xi)\n",
    "    _=ax.plot(xi,pval,'--k')\n",
    "    error = np.mean((pval[test_idx]-yi[test_idx])**2)\n",
    "    _=ax.set_title('degree=%d;error=%3.3g'%(deg,error))\n",
    "    _=ax.fill_between(xi[test_idx],pval[test_idx],yi[test_idx],color='gray',alpha=.8)\n",
    "\n",
    "fig.savefig('fig-machine_learning/learning_theory_004.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- dom:FIGURE: [fig-machine_learning/learning_theory_004.png, width=500 frac=0.85] This shows the folds and errors as in [Figure](#fig:learning_theory_002) and [fig:learning_theory_003](#fig:learning_theory_003). The shaded areas show the errors in each respective test set for the quadratic model. <div id=\"fig:learning_theory_004\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:learning_theory_004\"></div>\n",
    "\n",
    "<p>This shows the folds and errors as in [Figure](#fig:learning_theory_002) and [fig:learning_theory_003](#fig:learning_theory_003). The shaded areas show the errors in each respective test set for the quadratic model.</p>\n",
    "<img src=\"fig-machine_learning/learning_theory_004.png\" width=500>\n",
    "\n",
    "<!-- end figure -->"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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7Nmzh++//77yFXQK+3nA+fn5fPPNNy67hfN2XnjhBfbs2cPw4cNZtWqV1uY4THJyMrfddhuJiYl06dKF++67T2uTvAaV+25i1qxZ5OTkMHny5GovGq8PLslzl1KukVK2l1K2kVLW+Z5z5syZrF+/3hUm+Q324rZ6vZ5169Z52BrPUpEjLoRg9uzZ6HQ6Fi5cqLVZTpOfn0+fPn249957tTbFq/DWMRRPsm/fPubMmUOvXr1o3769S7ftddMPVDyWrTBhK26r1+uZP38+zz//vEZWuR/rec+llAgh+N///qexZc4TExPDypUrGTFihNameBW2tB0WFhYwYxJSSiZPnoxer2fo0KF236VbV7zOuSuqkpyczKJFiypfwRYVFUVZWRmXXnopAAsWLPDL+TlSU1MpLCysUlZeXu6XxxqoWGs7KCiIRo0asXnz5mrz0Pgjn332GWvXruWaa64hNjbW5dtXzt0HsJzzPTs7m+bNm3PfffdRXl7Oxx9/zKxZs3jrrbe0NtOlqHhsYGCp7YyMDI4cOcKCBQtYsGCB1qa5lcLCQh588EFatmxJv3790Olc74qVc/cxGjZsyEsvvcTWrVt54403uPXWW0lMTGTixIn8+uuvWpvnMlQ8NvC45ZZbGDBgADqdjkmTJvnM/EF14ZlnniEzM5MRI0ZUex2hq1DO3Qe57bbb6N+/P9OnT6ewsJCUlBT0ej1DhgwhPz9fa/NcwsyZM6uNv3hzTrui/gghGDx4MEajsSLN2i9z33fs2MFLL71E79696dChQ6XOpZT88ccflcdeX5Rz90GEEMybN4+CggLee+89GjVqxPjx4zl8+DD/+te/tDbPJZw/f76KyANl3vNAZ968edXK/Gned6PRyPjx44mIiOD666+vMohqNBrJyspi7969LtmXcu4+SseOHZk2bRobN25k7969tG/fngcffJBOnTqRnZ2ttXn14ujRo5U/Ug888ABSSjIzM5VjDwD8faxl8eLFfP/991x//fXExMRUqQsKCuKqq67innvuccm+lHP3YZ588kkSEhJ45513KC4u5qKLLiI0NJQVK1bwySefaG2e01TktTdv3pyCggKCg4P9psemcAx7Yyr23qnsSxw9epRHH32UDh060KtXryphx+PHj7N582aEELRt29Yl+1PO3YeJiIjg7bffJi8vj48//hgwzV2ycuVKRo4cyaZNmzS20HGs89rBFINUTysHFrZy38E/JlubNm0a586dY8SIEYSGhlap++qrr8jIyOCCCy5wWb67cu4+Tv/+/bnnnnvYsGED+/fvB0wDrtHR0QwdOpQDBw5obKFj2MprLysrUz33AMM6912n09GwYUM2bdrEe++9p7V5deaLL77gnXfeYcCAASQkJFSpO3/+PFu2bKFbt24unU5EOXc/YO7cucTFxbF8+XJKS0uJiori/vvvp6SkhAEDBnD69GmtTawVf4+1KhzHMvd95cqVnD59moSEBMaPH++T40mnTp1izJgxtGjRgoEDB1bLad+8eTPFxcXcddddNGjQwGX7Vc7dD2jYsCGLFy/m8OHDfP7554DpnasVYQ5fmNPEeo7/ClRee2Bz0003MXz4cHJzczl9+jQGg4HExESfSo188MEHOXLkCLfddlu16XyNRiMbNmygdevW3HLLLS7dr3LufsINN9zATTfdxP/+9z9ycnIAU0bN2LFjueyyyypDNt5Ifn4+paWl1cpVXrtCCMGAAQMoLy+vTI09ePCgz+S+f/DBB6Snp3PNNdfQpk2bas9u5OfnExISwg033EDTpk1dum/hqoR5Z+jevbvcunWrx/fr7xw/fpz27dsTGRnJI488QkhICGCKXZeUlCClZMqUKV43Odtdd91FRkYGISEhGI1GSkpKSExMJC0trU7pj0KIn6WU3d1gaq0obbuepKSkKgPtFSQmJpKZmel5gxzkyJEjdO7cmejoaB588EGbA8VgelnJtddeS7t27WrdpjPaVj13PyIuLo6lS5eSk5PDBx98UFmu1+v56aefmDZtGlOnTtXQwr+pSHvU6XQsX76cmJgYgoKC2L17t8prV1TB3riLLYfvLUgpGTt2LAUFBYwaNcrmFAOnT5+moKCA8PBw2rRp43IblHP3M2688UbGjx/Pt99+y88//1xZ3rdvX/r06cMrr7yieQaKZdpjxZ1jXl4et956q1tErvBt7I27hISE2AzneQNvvvkmn3/+OUOGDKnM/LHmww8/5JlnnqFLly5q4jCFY7zyyit06tSJ9PR0Tpw4AZhil3feeSfdu3dn1qxZzJo1SzP7bKU9Anz55ZcaWKPwdmzlvgshKCkp4bHHHtPIKvvs27ePqVOn0qFDB6688kqbjjsrK4sff/yRnj170qVLF7fYoZy7HxIaGlr5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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "kf = KFold(4)\n",
    "fig,axs=subplots(2,2,sharex=True,sharey=True)\n",
    "deg = 3 # polynomial degree\n",
    "for ax,(train_idx,test_idx) in zip(axs.flat,kf.split(xi)):\n",
    "    _=ax.plot(xi,yi,xi[train_idx],yi[train_idx],'ok',color='k')\n",
    "    p = np.polyfit(xi[train_idx],yi[train_idx],deg)\n",
    "    pval = np.polyval(p,xi)\n",
    "    _=ax.plot(xi,pval,'--k')\n",
    "    error = np.mean((pval[test_idx]-yi[test_idx])**2)\n",
    "    _=ax.set_title('degree=%d;error=%3.3g'%(deg,error))\n",
    "    _=ax.fill_between(xi[test_idx],pval[test_idx],yi[test_idx],color='gray',alpha=.8)\n",
    "\n",
    "fig.savefig('fig-machine_learning/learning_theory_005.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- dom:FIGURE: [fig-machine_learning/learning_theory_005.png, width=500 frac=0.85] This shows the folds and errors. The shaded areas show the errors in each respective test set for the cubic model. <div id=\"fig:learning_theory_005\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:learning_theory_005\"></div>\n",
    "\n",
    "<p>This shows the folds and errors. The shaded areas show the errors in each respective test set for the cubic model.</p>\n",
    "<img src=\"fig-machine_learning/learning_theory_005.png\" width=500>\n",
    "\n",
    "<!-- end figure -->\n",
    "\n",
    "\n",
    "After reviewing the last four figures and averaging the cross-validation\n",
    "errors, the one with the least average error is declared the winner. Thus, cross-validation provides a method of using a\n",
    "single data set to make claims about unseen out-of-sample data insofar as the\n",
    "model with the best complexity can be determined.  The entire process to\n",
    "generate the above figures can be captured using `cross_val_score` as shown for\n",
    "the linear regression (compare the output with the values in the titles in each\n",
    "panel of  [Figure](#fig:learning_theory_003)),"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.3554451  0.33131438 0.50454257 0.45905672]\n"
     ]
    }
   ],
   "source": [
    "from sklearn.metrics import  make_scorer, mean_squared_error\n",
    "from sklearn.model_selection import cross_val_score\n",
    "from sklearn.linear_model import LinearRegression\n",
    "Xi = xi.reshape(-1,1) # refit column-wise\n",
    "Yi = yi.reshape(-1,1)\n",
    "lf = LinearRegression()\n",
    "scores = cross_val_score(lf,Xi,Yi,cv=4,\n",
    "                         scoring=make_scorer(mean_squared_error))\n",
    "print(scores)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Programming Tip.**\n",
    "\n",
    "The `make_scorer` function is a wrapper that enables `cross_val_score` to\n",
    "compute scores from the given estimator's output.\n",
    "\n",
    "\n",
    "\n",
    " The process can be further automated by using a pipeline as\n",
    "in the following,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'memory': None,\n",
       " 'steps': [('poly',\n",
       "   PolynomialFeatures(degree=3, include_bias=True, interaction_only=False,\n",
       "                      order='C')),\n",
       "  ('linear',\n",
       "   LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False))],\n",
       " 'verbose': False,\n",
       " 'poly': PolynomialFeatures(degree=3, include_bias=True, interaction_only=False,\n",
       "                    order='C'),\n",
       " 'linear': LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False),\n",
       " 'poly__degree': 3,\n",
       " 'poly__include_bias': True,\n",
       " 'poly__interaction_only': False,\n",
       " 'poly__order': 'C',\n",
       " 'linear__copy_X': True,\n",
       " 'linear__fit_intercept': True,\n",
       " 'linear__n_jobs': None,\n",
       " 'linear__normalize': False}"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.pipeline import Pipeline\n",
    "from sklearn.preprocessing import PolynomialFeatures\n",
    "polyfitter = Pipeline([('poly', PolynomialFeatures(degree=3)),\n",
    "                       ('linear', LinearRegression())])\n",
    "polyfitter.get_params()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The  `Pipeline` object is a way of stacking standard steps\n",
    "into one big estimator, while respecting the usual `fit` and `predict`\n",
    "interfaces. The output of the `get_params` function contains the\n",
    "polynomial degrees we previously looped over to create [Figure](#fig:learning_theory_003), etc. We will use these named parameters\n",
    "in the next code block.  To do this automatically using this\n",
    "`polyfitter` estimator, we need the Grid Search Cross Validation\n",
    "object, `GridSearchCV`.  The next step is to use this to create the\n",
    "grid of parameters we want to loop over as in the following,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import GridSearchCV\n",
    "gs=GridSearchCV(polyfitter,{'poly__degree':[1,2,3]},\n",
    "                cv=4,return_train_score=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The `gs` object will loop over the polynomial degrees up to\n",
    "cubic using four-fold cross validation `cv=4`, like we did manually\n",
    "earlier. The `poly__degree` item comes from the previous `get_params`\n",
    "call.  Now, we just apply the usual `fit` method on the training data,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/unpingco/.conda/envs/pypsml2E/lib/python3.7/site-packages/sklearn/model_selection/_search.py:813: DeprecationWarning: The default of the `iid` parameter will change from True to False in version 0.22 and will be removed in 0.24. This will change numeric results when test-set sizes are unequal.\n",
      "  DeprecationWarning)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'mean_fit_time': array([0.00091416, 0.00077647, 0.00073195]),\n",
       " 'std_fit_time': array([2.79066700e-04, 8.56323359e-05, 1.23943154e-04]),\n",
       " 'mean_score_time': array([0.00059962, 0.00061661, 0.00051814]),\n",
       " 'std_score_time': array([7.37571294e-05, 1.36809826e-04, 3.01594202e-05]),\n",
       " 'param_poly__degree': masked_array(data=[1, 2, 3],\n",
       "              mask=[False, False, False],\n",
       "        fill_value='?',\n",
       "             dtype=object),\n",
       " 'params': [{'poly__degree': 1}, {'poly__degree': 2}, {'poly__degree': 3}],\n",
       " 'split0_test_score': array([ -2.03118491, -68.54947351,  -1.64899934]),\n",
       " 'split1_test_score': array([-1.38557769, -3.20386236,  0.81372823]),\n",
       " 'split2_test_score': array([ -7.82417707, -11.8740862 ,   0.47246476]),\n",
       " 'split3_test_score': array([ -3.21714294, -60.70054797,   0.14328163]),\n",
       " 'mean_test_score': array([ -3.4874447 , -36.06830421,  -0.07906481]),\n",
       " 'std_test_score': array([ 2.47972092, 29.1121604 ,  0.975868  ]),\n",
       " 'rank_test_score': array([2, 3, 1], dtype=int32),\n",
       " 'split0_train_score': array([0.52652515, 0.93434227, 0.99177894]),\n",
       " 'split1_train_score': array([0.5494882 , 0.60357784, 0.99154288]),\n",
       " 'split2_train_score': array([0.54132528, 0.59737218, 0.99046089]),\n",
       " 'split3_train_score': array([0.57837263, 0.91061274, 0.99144127]),\n",
       " 'mean_train_score': array([0.54892781, 0.76147626, 0.99130599]),\n",
       " 'std_train_score': array([0.01888775, 0.16123462, 0.00050307])}"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "_=gs.fit(Xi,Yi)\n",
    "gs.cv_results_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " the scores shown correspond to the cross validation scores\n",
    "for each of the parameters (e.g., polynomial degrees) using four-fold\n",
    "cross-validation.  Note that the higher scores are better here and\n",
    "the cubic polynomial is best, as we observed earlier. The default\n",
    "$R^2$ metric is used for the scoring in this case as opposed to\n",
    "mean-squared-error. The validation results of this pipeline for the\n",
    "quadratic fit are shown in [Figure](#fig:learning_theory_004), and\n",
    "for the cubic fit, in [Figure](#fig:learning_theory_005). This can\n",
    "be changed by passing the\n",
    "`scoring=make_scorer(mean_squared_error)` keyword argument to\n",
    "`GridSearchCV`.  There is also `RandomizedSearchCV` that does\n",
    "does not necessarily evaluate every point on the grid and\n",
    "instead randomly samples the grid according to an input\n",
    "probability distribution. This is very useful for a large number\n",
    "of hyper-parameters.\n",
    "\n",
    "## Bias and Variance\n",
    "\n",
    "\n",
    "Considering average error in terms of in-samples\n",
    "and out-samples depends on a particular training data set. What we\n",
    "want is a concept that captures the performance of the estimator \n",
    "for *all* possible training data. For example, our ultimate\n",
    "estimator, $\\hat{f}$ is derived from a particular set of training data\n",
    "($\\mathcal{D}$) and is thus denoted, $\\hat{f}_{\\mathcal{D}}$. This makes the\n",
    "out-of-sample error explicitly, $E_{\\texttt{out}}(\\hat{f}_{\\mathcal{D}})$.  To\n",
    "eliminate the dependence on a particular set of training data set, we have to\n",
    "compute the expectation across all training data sets,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\mathbb{E}_{\\mathcal{D}}E_{\\texttt{out}}(\\hat{f}_{\\mathcal{D}})= \\texttt{bias}+\\texttt{var}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\texttt{bias}(x)= (\\overline{\\hat{f}}(x)-f(x))^2\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " and"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\texttt{var}(x)= \\mathbb{E}_{\\mathcal{D}}(\\hat{f}_{\\mathcal{D}}(x)-\\overline{\\hat{f}}(x))^2\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " and where $\\overline{\\hat{f}}$ is the mean of all estimators for all\n",
    "data sets. There is nothing to say that such a mean is an estimator that could\n",
    "have arisen from any *particular* training data, however. It just implies that\n",
    "for any particular point $x$, the mean of the values of all the estimators is\n",
    "$\\overline{\\hat{f}}(x)$.  Therefore, $\\texttt{bias}$ captures the sense\n",
    "that, even if all possible data were presented to the learning method, it\n",
    "would still differ from the target function by this amount.  On the other\n",
    "hand, $\\texttt{var}$ shows the variation in the final hypothesis, depending\n",
    "on the training data set, notwithstanding the target function.  Thus, the\n",
    "tension between approximation and generalization is captured by these two\n",
    "terms.  For example, suppose there is only one hypothesis. Then,\n",
    "$\\texttt{var}=0$ because there can be no variation due to a particular set\n",
    "of training data because no matter what that training data is, the learning\n",
    "method always selects the one and only hypothesis. In this case, the bias\n",
    "could be very large, because there is no opportunity for the learning method\n",
    "to alter the hypothesis due to the training data, and the method can only\n",
    "ever pick the single hypothesis!\n",
    "\n",
    "Let's construct an example to make this concrete. Suppose we have a hypothesis\n",
    "set consisting of all linear regressions without an intercept term,  $h(x)=a\n",
    "x$. The training data consists of only two points $\\left\\{(x_i,\\sin(\\pi\n",
    "x_i))\\right\\}_{i=1}^2$ where $x_i$ is drawn uniformly from the interval\n",
    "$[-1,1]$. From the section [ch:stats:sec:reg](#ch:stats:sec:reg) on linear regression, we know that\n",
    "the solution for $a$ is the following,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- Equation labels as ordinary links -->\n",
    "<div id=\"eq:sola\"></div>\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "a = \\frac{\\mathbf{x}^T \\mathbf{y}}{\\mathbf{x}^T \\mathbf{x}}\n",
    "\\label{eq:sola} \\tag{1}\n",
    "\\end{equation}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where $\\mathbf{x}=[x_1,x_2]$ and $\\mathbf{y}=[y_1,y_2]$. The\n",
    "$\\overline{\\hat{f}}(x)$ represents the solution over all possible sets\n",
    "of training data for a fixed $x$. The following code shows how to\n",
    "construct the training data,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy import stats\n",
    "def gen_sindata(n=2):\n",
    "    x=stats.uniform(-1,2) # define random variable\n",
    "    v = x.rvs((n,1))      # generate sample\n",
    "    y = np.sin(np.pi*v)   # use sample for sine\n",
    "    return (v,y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Again, using Scikit-learn's `LinearRegression` object, we\n",
    "can compute the $a$ parameter. Note that we have to set\n",
    "`fit_intercept=False` keyword to suppress the default automatic\n",
    "fitting of the intercept."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0.24974914]])"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lr = LinearRegression(fit_intercept=False)\n",
    "lr.fit(*gen_sindata(2))\n",
    "lr.coef_"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- *foo* -->\n",
    "\n",
    "**Programming Tip.**\n",
    "\n",
    "Note that we designed `gen_sindata` to return a tuple to use the automatic\n",
    "unpacking feature of Python functions in `lr.fit(*gen_sindata())`.  In other\n",
    "words, using the asterisk notation means we don't have to separately assign the\n",
    "outputs of `gen_sindata` before using them for `lr.fit`.\n",
    "\n",
    "\n",
    "\n",
    "<!-- dom:FIGURE: [fig-machine_learning/learning_theory_006.png, width=500 frac=0.75] For a two-element training set consisting of the points shown, the line is the best fit over the hypothesis set, $h(x)=a x$. <div id=\"fig:learning_theory_006\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:learning_theory_006\"></div>\n",
    "\n",
    "<p>For a two-element training set consisting of the points shown, the line is the best fit over the hypothesis set, $h(x)=a x$.</p>\n",
    "<img src=\"fig-machine_learning/learning_theory_006.png\" width=500>\n",
    "\n",
    "<!-- end figure -->"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "lr = LinearRegression(fit_intercept=False)\n",
    "xi=np.linspace(-1,1,50)\n",
    "yi= np.sin(np.pi*xi)\n",
    "xg,yg = gen_sindata()\n",
    "fig,ax=subplots()\n",
    "_=lr.fit(xg,yg)\n",
    "_=ax.plot(xi,yi,'--k',label='target')\n",
    "_=ax.plot(xg,yg,'o',ms=10,color='gray')\n",
    "_=ax.plot(xi,lr.predict(xi.reshape(-1,1)),color='k',label='best fit')\n",
    "_=ax.set_title('$a=%3.3g$'%(lr.coef_),fontsize=24)\n",
    "_=ax.set_xlabel(r'$x$',fontsize=28)\n",
    "_=ax.set_ylabel(r'$y$',fontsize=28)\n",
    "_=ax.legend(fontsize=18,loc=0)\n",
    "fig.tight_layout()\n",
    "fig.savefig('fig-machine_learning/learning_theory_006.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " In this case, $\\overline{\\hat{f}}(x) = \\overline{a}x$, where\n",
    "$\\overline{a}$ the the expected value of the parameter over *all* possible\n",
    "training data sets.  Using our knowledge of probability, we can write this out\n",
    "explicitly as the following,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\overline{a} = \\mathbb{E}\\left(\\frac{x_1\\sin(\\pi x_1)+ x_2\\sin(\\pi x_2) }{x_1^2+x_2^2}\\right)\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where $\\mathbf{x}=[x_1,x_2]$ and $\\mathbf{y}=[\\sin(\\pi x_1),\\sin(\\pi\n",
    "x_2)]$ in Equation ([1](#eq:sola)). However, computing this expectation\n",
    "analytically is hard, but for this specific situation, $\\overline{a} \\approx\n",
    "1.43$. To get this value using simulation, we just loop over the process,\n",
    "collect the outputs, and the average them as in the following,"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.5476180748170179"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a_out=[] # output container\n",
    "for i in range(100):\n",
    "    _=lr.fit(*gen_sindata(2)) \n",
    "    a_out.append(lr.coef_[0,0])\n",
    "\n",
    "np.mean(a_out) # approx 1.43"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- * -->\n",
    "\n",
    " Note that you may have to loop over many more iterations to get\n",
    "close to the purported value. The $\\texttt{var}$ requires the variance of $a$,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\texttt{var}(x) = \\mathbb{E}((a-\\overline{a})x)^2 = x^2 \\mathbb{E}(a-\\overline{a})^2 \\approx 0.71 x^2\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The $\\texttt{bias}$ is the following,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\texttt{bias}(x) = (\\sin(\\pi x)-\\overline{a}x)^2\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " [Figure](#fig:learning_theory_007) shows the $\\texttt{bias}$,\n",
    "$\\texttt{var}$, and mean-squared-error for this problem. Notice that there is\n",
    "zero bias and zero variance when $x=0$. This is because the learning method\n",
    "cannot help but get that correct because all the hypotheses happen to match the\n",
    "value of the target function at that point! Likewise, the $\\texttt{var}$ is\n",
    "zero because all possible pairs, which constitute the training data, are fitted\n",
    "through zero because $h(x)=a x$ has no choice but to go through zero. The\n",
    "errors are worse at the end points. As we discussed in our statistics chapter,\n",
    "those points have the most leverage against the hypothesized models and result\n",
    "in the worst errors. Notice that reducing the edge-errors depends on getting\n",
    "exactly those points near the edges as training data. The sensitivity to a\n",
    "particular data set is reflected in this behavior.\n",
    "\n",
    "<!-- dom:FIGURE: [fig-machine_learning/learning_theory_007.png, width=500 frac=0.8] These curves decompose the mean squared error into its constituent bias and variance for this example.  <div id=\"fig:learning_theory_007\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:learning_theory_007\"></div>\n",
    "\n",
    "<p>These curves decompose the mean squared error into its constituent bias and variance for this example.</p>\n",
    "<img src=\"fig-machine_learning/learning_theory_007.png\" width=500>\n",
    "\n",
    "<!-- end figure -->"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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M2eYNGkSS5cutZtEZGRkUK1aNZo0acKLL77ItGnTqFevHu3bt6d3797ce++9JCQkmK8v3DKhpJmVEydOZPny5axbt45+/foxfvz4Yq8tvI9sxSD8hS8UGIOM4DgtMjKSunXrmts5OTkcOHDAixEJUbHZSwBKW75Ba02/fv2YPXs2I0aM4KuvvuKHH37gxx9/ND+ays/PN18/depU9u/fz7vvvkvz5s35/PPP6dSpE88995z5mtq1awNw7ty5Yt83NTWV7du3A3DgwAGLDXytFd6n8L5C+DpfmCIOkuCUiRQaC+E7CmtfitqzZw8AzZo1s9tn+/bt/PHHHzz//PO89dZbDBkyhP79+9OnT59id+Zu1qwZTzzxBAsXLuTEiRN0796d6dOnm0d/2rRpg1KK/fv32+2fm5vLsGHDyM3N5f333+fQoUM8+uijxX5fBw4coG7dulJ/I/yGjOCUA1JoLITv+Ne//sWFCxfM7QsXLvDxxx9TvXp1br75Zrt9CusCrEd6du7caTNN/MKFCzbbJoSGhpofjZ0/fx4wjbTExMSwadMmu+85adIkNm/ezIcffsgTTzzBhAkT+PLLL22mmgPk5eWRlJRUbPxC+Jr8/Hx27dplcc5bCY7U4JSBFBoL4TsiIyO58cYbGTNmDFprZs6cyZEjR/j888+pXLmy3T6tW7emTZs2TJ8+nStXrhAdHc2+ffv45JNPiI2NZevWreZrf/75Zx5++GHuvvtuoqOjqVq1KsnJyXz++efceOONREdHm6+99957ee211zh58iT16tUzn1+1ahXTp09n+PDhjBo1CoDXX3+dX375hXHjxtGlSxeuv/568/Vr1qwhMzOTe++918V/W0K4R2pqKleuXDG3a9asafH/gEdprcv10bFjR+0uW7Zs0YD5aNGihdveSwijdu/e7e0QPGrmzJka0D/++KOePHmybtSokQ4JCdFt2rTRX375pcW1N998s27SpInFudTUVH3PPffoyMhIHRYWphMSEvTixYv1yy+/rAF96NAhrbXWf/75px47dqxu1aqVDg8P15UrV9atWrXSL730ks7IyLC45/Hjx3VQUJB+++23zedOnz6t69atq5s3b64vXrxocf2BAwd0eHi47tixo87OzjafHzVqlK5bt66+du2aob+LivbfXvieb775xuJzsXv37m5/TyBJ2/n8V7qc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mkL4C621z+1BVaikEZzqWK50HADcVnBe2CGFxkJ4XmxsLB06dODLL78017esXbuW1NRUc/IDpgTi4YcfNtfTREZGUrt2bT7++GMAMjIybO7dsmVLm3OFK5RrXfw2d0OGDOH+++9nw4YNxMbGMn369GKvLbyPrHwu/NHhw4ctHq9Wr17d7kilN3hts83ySEZwhD+YMmWK3UdThf7+97/bfTRV6NNPP7X7aKrQvHnziq1pAcr8WMqekSNHMn78eFavXk2fPn2YM2eO+fEVmJKIfv36sWfPHp588kkSEhKIiIggMDCQmTNnMm/ePIvi30KVK1e2OVe7dm0Azp07V2w8GRkZrF+/HoATJ05w5swZGjVqZPfawvsU3lcIf2Jv9MZXknWvbLZZXrVp08aivX//frKysrwUjRAVR2Eh8Zw5c8jKyuLrr7+mb9++1KtXDzDNYvrjjz94/vnneeuttxgyZAj9+/enT58+Ds92bNSoEdWqVTMXEdvzl7/8haNHj/LBBx9w5coVHnjggWLf58CBAwQFBREdHe1QHEL4Al8tMAZJcFwqPDycpk2bmtv5+fns3bvXewEJUUHUrl2bAQMGsHjxYr788ksuXrxo8XiqcE0O68dKO3futDtNvCSBgYF069aNzZvtTxj9+OOP+c9//sNLL73EuHHjePvtt1m7dm2xhcybNm2iY8eOFvvZCeEvfLXAGEpPcBoopZoVFBY3sz5XcL6he0P0L/KYSgjvGDlyJJmZmUyYMIGIiAjuuOMO82utW7emTZs2TJ8+nWeeeYbPPvuMiRMn0qVLF6d+47z33ntJT09ny5YtFud37tzJ008/Tbdu3XjppZcAePzxx7nzzjt57bXXzI+tCh08eJCUlBTuvfdeJ75jIbzPVwuMofQE52tgf8FROBTxTZFz+wFZoaoIKTQWwjtuu+02atasycWLF7n33nsJCwszvxYYGMh///tfBg0axOzZs3nqqaf45ZdfmD17drGzm0py3333UbNmTYsF/bKyshg6dChhYWHMmzfPYiXXf//739SrV4/777/fYnPNL774gkqVKjFq1CjnvmkhvOjatWvs2bPH4pwvJTiquJkASqmRdl8ohtZ6tksicrH4+HidlJTksfebN2+eubARYMCAAXz33Xcee38h9uzZQ+vWrb0dRrn3xhtvMG3aNA4dOlTslPGSXL16lWbN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lOB0AP5rdW40pvVw+mutP9BaP4YpyRnupvgqvMLq9h9//NHhviEhIdx///0W52bMmOGSuIQQQnjWzp07+e2338xtpZTTI/wrVqygS5cuhIeHuyo8n1NSghMFHLQ61xdYr7U+VeTcf7Ea6RGuExcXR82aNZ2aLg62j6lWrlxpUX0vhBDCP1iP3vTu3ZvGjRs7fJ8zZ86wbdu2cjs9vFBJCc4loEphQyl1PVAL2GR13UVMG24KNwgMDKRv376sXLnSqWne7du3p3379ua21po5c+a4MkQhhBBudu3aNb744guLc84WFxc+ESiv08MLlZTg7AXuKNK+A9CY1r4p6jrgtIvjEkXccccdJCQkcOHCBaf6y5o4Qgjh37777juLFekjIiIYPHiwU/cKCQmhV69exMXFuSo8n1TsOjhKqTuBxQXHaWAUsB/ooIt0UkotKbjPnW6P1gn+FkzXZQAAIABJREFUvA6Oq6Snp1O/fn2LXcXXrVtH165dvRiVEEIIo+68806WLl1qbo8dO5aPP/7YixH5DofXwdFaf4NpplQCMALTo6l7rZKbhkBP4DuXRyxsOLufVGRkJHfccYfFOVkTRwgh/MOZM2f4738t5/w4+3gqIyODrKwsV4Tl80pc6E9r/b7WuonWOlxr3Vtrvd/q9WNa6+pa60/dG6b48MMPadCggVPTxcH2f4aFCxeSmZnpitCEEEK40RdffEFubq653bp1azp16uTUvd5++23q169fIf79d2olY+F53bt3Jzc3l6+//tqp/v369aNevXrm9uXLl52+lxBCCM/QWtuMuI8ZM8aptW+01syfP5+EhASqVKlSegc/JwmOn2jbti0xMTHMmzfPqf5BQUGMGDHC4txHH30kxcZCCOHDNmzYwM6dO83twMBAHnjgAafutWXLFv7880+GD68YS9dJguMnlFIMHz6c9evXc+TIEafuYf2YasuWLfzwww+uCE8IIYQbvPzyyxbtgQMHUrduXafuNX/+fCpVquT07Ct/IwlOGRSdleQJQ4cOBeCrr75yqn90dDSDBg2yODd58mQZxRFCCB+0Zs0aVq9ebXFuwoQJTt0rLy+Pr776ioEDBxIREeGK8Azx9OdkUZLglMGwYcMYPny4x1YGbt68OQsXLizTzrGvvPKKRTspKYlly5aVNTQhhBAupLVm8uTJFud69+7NzTff7NT9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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax=subplots()\n",
    "fig.set_size_inches((8,5))\n",
    "_=ax.plot(xi,(1.43*xi-yi)**2,'--k',label='bias(x)')\n",
    "_=ax.plot(xi,0.71*(xi)**2,':k',label='var(x)',lw=3.)\n",
    "_=ax.plot(xi,(1.43*xi-yi)**2+0.71*(xi)**2,color='k',lw=4,label='MSE')\n",
    "_=ax.legend(fontsize=18,loc=0)\n",
    "_=ax.set_ylabel('Mean Squared Error (MSE)',fontsize=16)\n",
    "_=ax.set_xlabel('x',fontsize=18)\n",
    "_=ax.tick_params(labelsize='x-large')\n",
    "fig.tight_layout()\n",
    "fig.savefig('fig-machine_learning/learning_theory_007.pdf')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "What if we had more than two points in the training data? What would happen to\n",
    "$\\texttt{var}$ and $\\texttt{bias}$?  Certainly, the $\\texttt{var}$ would\n",
    "decrease because it would be harder and harder to generate training data sets\n",
    "that would be substantially different from each other. The bias would also\n",
    "decrease because more points in the training data means better approximation of\n",
    "the sine function over the interval. What would happen if we changed the\n",
    "hypothesis set to include more complex polynomials?  As we have already seen\n",
    "with our polynomial regression earlier in this chapter, we would see the same\n",
    "overall effect as here, but with relatively smaller absolute errors and the\n",
    "same edge effects we noted earlier. \n",
    "\n",
    "## Learning Noise\n",
    "\n",
    "We have thus far not considered the effect of noise in our analysis\n",
    "of learning. The following example should help resolve this. Let's suppose\n",
    "we have the following scalar target function,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "y(\\mathbf{x})=\\mathbf{w}_o^T \\mathbf{x} + \\eta\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where $\\eta \\sim \\mathcal{N}(0,\\sigma^2)$ is an additive noise term\n",
    "and $\\mathbf{w}, \\mathbf{x} \\in \\mathbb{R}^d$. Furthermore, we have $n$\n",
    "measurements of $y$. This means the training set consists of $\\lbrace\n",
    "(\\mathbf{x}_i,y_i) \\rbrace_{i=1}^n$. Stacking the measurements together into a\n",
    "vector format,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\mathbf{y}=\\mathbf{X} \\mathbf{w}_o + \\boldsymbol{\\eta}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " with $\\mathbf{y},\\boldsymbol{\\eta}\\in\\mathbb{R}^n$,$\\mathbf{w}_o\\in\n",
    "\\mathbb{R}^d$ and $\\mathbf{X}$ contains $\\mathbf{x}_i$ as columns.  The\n",
    "hypothesis set consists of all linear models,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "h(\\mathbf{w},\\mathbf{x}) = \\mathbf{w}^T \\mathbf{x}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " We need to the learn the correct $\\mathbf{w}$ from the\n",
    "hypothesis set given the training data. So far, this is the usual\n",
    "setup for the problem, but how does the noise factor play to this? In\n",
    "our usual situation, the training set consists of randomly chosen\n",
    "elements from a larger space. In this case, that would be the same as\n",
    "getting random sets of $\\mathbf{x}_i$ vectors. That still happens in\n",
    "this case, but the problem is that even if the same $\\mathbf{x}_i$\n",
    "appears twice, it will not be associated with the same $y$ value due\n",
    "the additive noise coming from $\\eta$. To keep this simple, we assume\n",
    "that there is a fixed set of $\\mathbf{x}_i$ vectors and that we get\n",
    "all of them in the training set.  For every specific training set, we\n",
    "know how to solve for the MMSE from our earlier statistics work,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\mathbf{w} =  (\\mathbf{X}^T \\mathbf{X})^{-1} \\mathbf{X}^T \\mathbf{y}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Given this setup, what is the in-sample mean-squared-error? Because\n",
    "this is the MMSE solution, we know from our study of the associated \n",
    "orthogonality of such systems that we have,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- Equation labels as ordinary links -->\n",
    "<div id=\"eq:Ein\"></div>\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "E_{\\texttt{in}}=\\lVert \\mathbf{y} \\rVert^2 - \\lVert \\mathbf{X w} \\rVert^2 \n",
    "\\label{eq:Ein} \\tag{2}\n",
    "\\end{equation}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where our best hypothesis, $\\mathbf{h} = \\mathbf{X w}$. Now, we want\n",
    "to compute the expectation of this over the distribution of $\\eta$.  For\n",
    "instance, for the first term, we want to compute,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\mathbb{E} \\lvert \\mathbf{y} \\rvert^2 = \\frac{1}{n} \\mathbb{E} (\\mathbf{y}^T \\mathbf{y}) = \\frac{1}{n} \\Tr \\: \\mathbb{E} (\\mathbf{y} \\mathbf{y}^T)\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where $\\Tr$ is the matrix trace operator (i.e., sum of the diagonal\n",
    "elements). Because each $\\eta$ are independent, we have"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- Equation labels as ordinary links -->\n",
    "<div id=\"eq:eyy\"></div>\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "\\Tr \\: \\mathbb{E} (\\mathbf{y} \\mathbf{y}^T) = \\Tr \\: \\mathbf{X} \\mathbf{w}_o \\mathbf{w}_o^T \\mathbf{X}^T + \\sigma^2 \\Tr \\: \\mathbf{I} = \\Tr \\: \\mathbf{X} \\mathbf{w}_o \\mathbf{w}_o^T \\mathbf{X}^T + n \\sigma^2\n",
    "\\label{eq:eyy} \\tag{3}\n",
    "\\end{equation}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where $\\mathbf{I}$ is the $n \\times n$ identity matrix. For the\n",
    "second term in Equation ([2](#eq:Ein)), we have"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "$$\n",
    "\\lvert\\mathbf{X w} \\rvert^2 = \\Tr \\: \\mathbf{X w}\\mathbf{w}^T \\mathbf{X}^T = \\Tr\\: \\mathbf{X} (\\mathbf{X}^T \\mathbf{X})^{-1} \\mathbf{X}^T \\mathbf{y} \\mathbf{y}^T \\mathbf{X} (\\mathbf{X}^T \\mathbf{X})^{-1} \\mathbf{X}^T\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " The expectation of this is the following,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- Equation labels as ordinary links -->\n",
    "<div id=\"_auto1\"></div>\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "\\mathbb{E} \\lvert \\mathbf{X w} \\rvert^2 = \\Tr \\:  \\mathbf{X} (\\mathbf{X}^T \\mathbf{X})^{-1} \\mathbf{X}^T \\mathbb{E}(\\mathbf{y} \\mathbf{y}^T) \\mathbf{X} (\\mathbf{X}^T \\mathbf{X})^{-1} \\mathbf{X}^T\n",
    "\\label{_auto1} \\tag{4}\n",
    "\\end{equation}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " which, after substituting in Equation ([3](#eq:eyy)), yields,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- Equation labels as ordinary links -->\n",
    "<div id=\"_auto2\"></div>\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "\\mathbb{E} \\lvert \\mathbf{X w} \\rvert^2 = \\Tr \\:  \\mathbf{X} \\mathbf{w}_o \\mathbf{w}_o^T \\mathbf{X}^T + \\sigma^2 d\n",
    "\\label{_auto2} \\tag{5}\n",
    "\\end{equation}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Next, assembling Equation ([2](#eq:Ein)) from this and Equation ([3](#eq:eyy)) gives,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- Equation labels as ordinary links -->\n",
    "<div id=\"_auto3\"></div>\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "\\mathbb{E}(E_{\\texttt{in}})=\\frac{1}{n}E_{\\texttt{in}}=\\sigma^2 \\left(1-\\frac{d}{n}\\right)\n",
    "\\label{_auto3} \\tag{6}\n",
    "\\end{equation}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " which provides an explicit relationship between the noise power,\n",
    "$\\sigma^2$, the complexity of the method ($d$) and the number of training\n",
    "samples ($n$).  This is very illustrative because it reveals the ratio $d/n$,\n",
    "which is a statement of the trade-off between model complexity and in-sample\n",
    "data size. From our analysis of the VC-dimension, we already know that there is\n",
    "a complicated bound that represents the penalty for complexity, but this\n",
    "problem is unusual in that we can actually derive an expression for this\n",
    "without resorting to bounding arguments. Furthermore, this result shows, that\n",
    "with a very large number of training examples ($n \\rightarrow \\infty$), the\n",
    "expected in-sample error approaches $\\sigma^2$. Informally, this means that the\n",
    "learning method cannot *generalize* from noise and thus can only reduce the\n",
    "expected in-sample error by memorizing the data (i.e., $d \\approx n$).\n",
    "\n",
    "The corresponding analysis for the expected out-of-sample error is similar, \n",
    "but more complicated because we don't have the orthogonality condition. Also,\n",
    "the out-of-sample data has different noise from that used to derive the weights,\n",
    "$\\mathbf{w}$. This results in extra cross-terms,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- Equation labels as ordinary links -->\n",
    "<div id=\"_auto4\"></div>\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "E_{\\texttt{out}} = \\Tr \\Biggl( \\mathbf{X} \\mathbf{w}_o \\mathbf{w}_o^T \\mathbf{X}^T + \\boldsymbol{\\xi} \\boldsymbol{\\xi}^T + \\mathbf{X} \\mathbf{w} \\mathbf{w}^T \\mathbf{X}^T - \\mathbf{X} \\mathbf{w} \\mathbf{w}_o^T \\mathbf{X}^T \\notag\n",
    "\\label{_auto4} \\tag{7}\n",
    "\\end{equation}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- Equation labels as ordinary links -->\n",
    "<div id=\"_auto5\"></div>\n",
    "\n",
    "$$\n",
    "\\begin{equation} \\\n",
    "                   - \\mathbf{X} \\mathbf{w}_o \\mathbf{w}^T \\mathbf{X}^T \\Biggr)\n",
    "\\label{_auto5} \\tag{8}\n",
    "\\end{equation}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " where we are using the $\\boldsymbol{\\xi}$ notation for the noise in the\n",
    "out-of-sample case, which is different from that in the in-sample case.\n",
    "Simplifying this leads to the following,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- Equation labels as ordinary links -->\n",
    "<div id=\"_auto6\"></div>\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "\\mathbb{E}(E_{\\texttt{out}})=\\Tr\\: \\sigma^2 \\mathbf{I}  + \\sigma^2 \\mathbf{X}(\\mathbf{X}^T \\mathbf{X})^{-1} \\mathbf{X}^T\n",
    "\\label{_auto6} \\tag{9}\n",
    "\\end{equation}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Then, assembling all of this gives,"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!-- Equation labels as ordinary links -->\n",
    "<div id=\"eq:Eout\"></div>\n",
    "\n",
    "$$\n",
    "\\begin{equation}\n",
    "\\mathbb{E}(E_{\\texttt{out}}) = \\sigma^2 \\left(1+\\frac{d}{n}\\right) \n",
    "\\label{eq:Eout} \\tag{10}\n",
    "\\end{equation}\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " which shows that even in the limit of large $n$, the expected\n",
    "out-of-sample error also approaches the noise power limit, $\\sigma^2$. This\n",
    "shows that memorizing the in-sample data (i.e., $d/n \\approx 1$) imposes a\n",
    "proportionate penalty on the out-of-sample performance (i.e., $\\mathbb{E}\n",
    "E_{\\texttt{out}} \\approx 2\\sigma^2$ when $\\mathbb{E}E_{\\texttt{in}} \\approx 0$\n",
    ").\n",
    "\n",
    "The following code simulates this important example:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "def est_errors(d=3,n=10,niter=100):\n",
    "    assert n>d\n",
    "    wo = np.matrix(arange(d)).T \n",
    "    Ein = list()\n",
    "    Eout = list()\n",
    "    # choose any set of vectors\n",
    "    X = np.matrix(np.random.rand(n,d)) \n",
    "    for ni in range(niter):\n",
    "        y = X*wo + np.random.randn(X.shape[0],1)\n",
    "        # training weights\n",
    "        w = np.linalg.inv(X.T*X)*X.T*y\n",
    "        h = X*w\n",
    "        Ein.append(np.linalg.norm(h-y)**2)\n",
    "        # out of sample error\n",
    "        yp = X*wo + np.random.randn(X.shape[0],1)\n",
    "        Eout.append(np.linalg.norm(h-yp)**2)\n",
    "    return (np.mean(Ein)/n,np.mean(Eout)/n)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Programming Tip.**\n",
    "\n",
    "Python has an `assert` statement to make sure that certain entry conditions for\n",
    "the variables in the function are satisfied.  It is a good practice to use\n",
    "reasonable assertions at entry and exit to improve the quality of code.\n",
    "\n",
    "\n",
    "\n",
    " The following runs the simulation for the given value of $d$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "d=10\n",
    "xi = arange(d*2,d*10,d//2)\n",
    "ei,eo=np.array([est_errors(d=d,n=n,niter=100) for n in xi]).T"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " which results in [Figure](#fig:learning_theory_008). This\n",
    "figure shows the estimated expected in-sample and out-of-sample errors\n",
    "from our simulation compared with our  corresponding analytical\n",
    "result. The heavy horizontal line shows the variance of the additive\n",
    "noise $\\sigma^2=1$. Both these curves approach this asymptote because\n",
    "the noise is the ultimate learning limit for this problem. For a given\n",
    "dimension $d$, even with an infinite amount of training data, the\n",
    "learning method cannot generalize beyond the limit of the noise power.\n",
    "Thus, the expected generalization error is\n",
    "$\\mathbb{E}(E_{\\texttt{out}})-\\mathbb{E}(E_{\\texttt{in}})=2\\sigma^2\\frac{d}{n}$.\n",
    "\n",
    "<!-- dom:FIGURE: [fig-machine_learning/learning_theory_008.png, width=500 frac=0.85]  The dots show the learning curves estimated from the simulation and the solid lines show the corresponding terms for our analytical result. The horizontal line shows the variance of the additive noise ($\\sigma^2=1$ in this case). Both the expected in-sample and out-of-sample errors asymptotically approach this line. <div id=\"fig:learning_theory_008\"></div> -->\n",
    "<!-- begin figure -->\n",
    "<div id=\"fig:learning_theory_008\"></div>\n",
    "\n",
    "<p>The dots show the learning curves estimated from the simulation and the solid lines show the corresponding terms for our analytical result. The horizontal line shows the variance of the additive noise ($\\sigma^2=1$ in this case). Both the expected in-sample and out-of-sample errors asymptotically approach this line.</p>\n",
    "<img src=\"fig-machine_learning/learning_theory_008.png\" width=500>\n",
    "\n",
    "<!-- end figure -->"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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hoS5MhEREZHDpx5kaRXHHXccW7Zs4aqrrgLghRde4IorrqCkpCTMlYmIiIi0jAKytJoePXoQGxsLwP79+9m5cydJSUkAeDyecJYmIiIiEjIFZGkTP//5z/nwww8xxuD1ejnxxBO56667wl2WiIiISLMUkKXN1E4PV11dzY033khubi4AJSUlfPrpp+EsTURERKRRCsjS5hITE5k+fTpjxowB4PHHH+e73/2uZrwQERGRiKRZLKTdTZkyhezsbGe2izlz5jBo0CBycnLCXJmIiIiIepAlDJKSkvjRj34EQFVVFffeey9/+ctfnPPFxcXhKk1EREREAVnCKyYmhjVr1vDAAw8AsH37djIzM5kzZ054CxMREZGjlgKyhF1iYiI9e/YEwOVycdddd3HWWWcB8PHHH3PxxRezbdu2cJYoIiIiRxGNQZaI0qNHj6Dp4Hbu3MlXX31F9+7dAfjoo48oKyvjnHPOISpKf78TERGR1mesteGuoU0MHz7cLl++PNxlSCuw1jpTxl188cV8+eWXbNy4EWMMO3bsoFevXs55ERERkVAZY1ZYa4fXPa4uOIl4geH31VdfZf78+RhjsNaSk5PD5MmTw1eciIiIdDoKyNKhuFwujj32WMC/AMn06dO5+uqrASgtLWXEiBH885//DGeJIiIi0sFpDLJ0WDExMVx33XXO/o4dO7DWkpiYCMDmzZt57733uPLKK0lKSgpXmSIiItLBqAdZOo2hQ4fyySefMGrUKADmzZvHlClTKCkpAfwP/B08eDCcJYqIiEgHoIAsndYtt9zC+vXr6dOnDwC33XYbxx57LD6fL8yViYiISCRTQJZOyxjD4MGDnf2bb76ZmTNnOtPDXXzxxcyaNStc5YmIiEiEUkCWo8aoUaO45pprAKisrCQhIQGXywX4H/i75557+Oabb8JZooiIiEQAPaQnR6XY2FhefvllZ3/NmjXcc889HH/88QwcOJCSkhL27dtH3759w1iliIiIhIN6kEWAU045hR07dvCDH/wAgJdeeol+/fqxfv16wL9YiYiIiBwd1IMsYeV2u1myZAmLFi2ipKSE5ORkcnNzycnJIS0trV1r6dGjh/PzuHHjeOSRRxgyZAgAv/71r/nkk0/417/+5SxSotX7REREOictNS1hs3HjRvLz86msrCQ9PZ34+HjKy8spLi4mNjaWadOmBT1k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3XUAfPvtt6SmppKYmBi2zxQObrebJUuWsGjRIkpKSkhOTiY3N5ecnJyj9i9mItI0BWQRkQh2/fXXk5WV5awcGKiqqgqv10tCQgKFhYWMHDkSY4yzkuCIESPIzs7mlVdeAWDo0KGcfPLJvPrqq4B/1cHTTz/dab9s2TKys7Pp1atXO326tlc7tKeyspL09HTi4+MpLy+nuLiY2NjYTju0R0SOTGeZB1lEpFOqnSKvoUVWYmJiiImJoaysjJSUFG688cag8//+97+DHvy7++67g1YZ/Pzzz8nMzATAWsvZZ5/NlClTyM/Px1rLqFGjuBU3GqAAACAASURBVPHGG7n++uux1vLyyy9zxhlnMHDgwHq1RGIvbeAS57WfE3CWOPd4POTn52v8toiELOJnsRARORoc6RR5UVH//c/5j370o6CFUz7++GNmzJgB+APyW2+95fQml5eX061bN1wuF+APm1deeSXz5s0DYO/evWRmZvLCCy+wceNG/t//+3/ce++9HDhwgKysLGJjY/nb3/7Gb37zm7DNstGaS5yLiIACsohIRGivKfKioqIYO3asM0VdQkICCxYs4KqrrgL8YfKrr77iyiuvBKC6uprx48fTrVs3Z3aSzz77jJKSEowxlJaW8vzzz7Njxw7y8/NZtmwZl112Gf/5z38Af6j/xz/+wb59+46o7qYsWrQoqMe8IRkZGSxcuLDNahCRzkUBWUQkAqSlpTFt2jTKysrYtm0bZWVl+Hy+oP1p06a1+RCBmJgYjj32WHr27AlAjx49+Otf/0p1dTWVlZUMGjSIO+64wxnP26VLF8455xwGDBhARUUFS5YsYd26dVRWVgL+8c7jx493epfnz59Pjx49nFUJV65cye23386ePXsAKC4uZt26dS1aaKWkpMRZNbExLper0b98iIjUpTHIIiIRYvDgwcycOdOZIq+oqIiUlBQmTJgQ9inyAntpa4djACQlJTm92rWLo3z55ZfO+bPOOotly5ZxwgknAP5VCi+77DIngK9du5aHHnqIW2+9FYC//e1v/OxnP2Pnzp1kZmby/PPP8+ijj/Luu++SnJzMp59+yurVq/nxj39MbGwsBw8epEuXLo2O367VXkucNyUSx293hNpEwkGzWIiISLOammWjls/no7CwkNmzZ7fo3rX/HzLGsGnTJpYtW8YPf/hDoqOjee2113jyySd5++23iY6O5s4772TWrFl4vV6ioqL4zW9+w3333cc111xDdnY2K1eupLCwkIsuugiAwsJCysrKcLlcTJgwgXPOOYe4uLgmP0dbiORZNiK5NpG21tgsFhpiISIizaqdZaMph9tLW7sCIcCAAQOYNGkS0dHRAFx++eW89957zv706dPZunWr81Di+eefz4wZM4iLi8Pj8VBaWsrevXude3/22WfMnz/fGb89efJkZ/w1wL333su0adOc/XfffZf33nvP2S8pKaG6urrFnylQ4CwbWVlZJCQkYIwJ2s/Pz8ftdh/R+3S22kTCSUMsRESkWbm5uRQUFJCVldVom6KiIiZMmNCmdcTFxdG7d29nf/To0YwePdrpBe3fvz9nnHEGPp8Pr9fLcccdx7HHHuuM37788ss588wznev37NkTNHvIzJkzATj33HMBuOCCC3C5XM4DflOmTCEzM5Pp06cD8NJLL5GZmcnZZ5/t3C8lJSVoGErtLBuBU9AFSklJwePxsHTpUsaPH98aX1PIIrm2QBoCIu1NQyxERKRZbrebvLw8EhISGuwl9ng8lJWVhXWu4dZY4nzPnj2UlZXRt29fAF588UViYmL44Q9/CMDVV19Nnz59+POf/wxA//79ycnJ4bnnngMgOzub3Nxc5syZA8D48eMpLS3le9/7HgkJCXz66af06tXL+YtGcXExXbt2xVpLRUUFDzzwQGt+Jc2aOnUqLperyfHbZWVlYamtloaASFvSQiEiInLYamfZyM/Px+PxkJGRgcvlwuv1UlRURFxcXLvMstFcjePHjz+ins4ePXoE7ddOd1fr+eefD9pfsWJF0BCMu+++m+zsbGffGIPX6yU+Ph5rLe+88w6jRo0iKysLn8/Ho48+yllnncXo0aPZvXs32dnZ3Hnnndx00014vV5uueUWJk2axJgxY/B6vfzjH/9g+PDhZGdnO73kTYXb5pSUlDT5WwHwP5RZVFR02O9xJLQIjISLxiCLiEhIamfZmDBhAhUVFRQWFlJRUcGECROYOXPmUdmLl5aWRkZGhrP/4x//OGgxl7feeovvfe97zvjt22+/nZycHOf8ZZddxnHHHYfX66Vr166MHTvWCawej4eCggK++eYbAHbv3s1ll13GP//5TwC2bNlCYmIizz77LABbt25l9OjRfPDBBwDs2rWLP/7xj3z99dcAHDhwgFWrVnHgwAHn/dtybHlr0CIwEi7qQRYRkZC1Ri/t0SZw/Hbg2OSoqChOPPFEALZt28aECROCvtcePXqwa9cuZz8zM5PVq1c7Y7CTk5P54x//yPDh/t8OV1RUYIxxHmjctGkTeXl5nHbaaQwaNIgVK1YwZswYFi5cSG5uLh988AHPPvssZ555Jqeeeio7d+5k2bJljBkzhm7durFv3z62bt1Kly5dmDRpEh6PB7fbTVZWFjEx7RMfWrIIjP5MNkzjtw+PepBFRETaUGutkhgXF8fJJ5/s9Finp6dzxx13OHNMDx48mA8++MB5CHHkyJEcOnTIeYDwhBNO4I033uCkk04CoHv37lx88cUkJSXh8Xg4cOAAW7ZscRZp2b59OwUFBfh8PkaOHMnf//53BgwYQGFhIQBz584lOzub3bt3A7BgwQKuvfZap4d65cqV/PWvf3UWjdm9ezdff/01LXn2SYvAHJmNGzeSl5dHQUEBLpfL+UtaQUEBeXl5YVseviNQQBYREWlD4VwlMSEhgdjYWMAfqC+55BKnR3bYsGHMmTOHGTNmOHNF33TTTaSlpVFWVkbXrl2ZNGkSv/vd70hLS+PMM8/kmWeecRZ5OeaYY8jNzSUpKQmAnTt3smTJEqd3ef78+fzkJz9xpvB75JFHGDJkiBOQ7777bvr37+/U+vTTT3P99dc7+wsXLqSwsNAZArJ///4Gp5sL9yIwbrebefPmMXXqVK6//nqmTp3KvHnzwj41XkeYwi9SvzvQLBYiIiLtojVm2ehItR06dIi9e/c6Y6o///xzvvzyS370ox8B8Prrr/PRRx/x0EMPAf45qd9++20+/vhjACZPnsyCBQv4wQ9+QFZWFn//+98pLCzklltuca53u92cd955TJgwgY8//ph9+/bx+OOPA/7AXVVVxU033QTARx99RGxsLCNGjAD8M5bEx8eTnJx8mN9aZM+wMW/evGanZmxoaE97iZTvrrFZLBSQRUREJOLU9rA/8MADJCQkcPDgQQ4ePOiEpv/85z/s3buX448/npkzZ/KnP/2Jffv28dRTTwEwbtw4ysvLWbx4MQCjRo0iMTHRecjxjDPOID09nQULFgD+ua8HDhzIY489BsAtt9zC4MGD+eUvfwnAE088wYABAzjnnHMA/6Iyzz77LD179iQlJYWqqiqio6OdHvNwT30YyVP4RdK0kVpJT0RERDqMhIQEhg4d6gxPqaqq4phjjnGGp6SmpnL88cc7w1NmzZrlhGOAt99+m0WLFjn7c+fO5dFHH3X2b7/9dn7xi184+6effroznhtg/fr1bN++3dmfMWMGf/vb35z9iRMnsmrVKifg3XfffUGrML788susXr2apUuXYq3l2muvpaCgAPAvy37//fezYsUKAKqrq1m8eDE7duxwzu/fv/+IVnGM5PHbHWF2EgVkERERiVhHMr1gbW8uwMCBAxkyZIizf9lll3HBBRc4+3/4wx+CAvO7777LrFmznP1vvvmG+++/39k/99xzgx6szMnJYdCgQQBYa50pABcuXEhlZSUff/wx27ZtA+DgwYNMmzbNmZJv//795Obm8tprrwH+4R+pqak8+eSTAHz77bcMGDCA119/HfCP977sssuc4Sh79uzhD3/4A+vXr3fu53a7nbG8VVVVlJaW1gvc4Rq/3ZLZScJF07yJiIhIRIuE6QUTExOD9pOTkznmmGOc/cD5rY0xTJw4EZ/PR2FhIXFxcc581gBdu3bF4/E4DzQmJSWxePFiBgwY4LzX/fffz6hRowCIjo5m1KhRzgOSBw4cYP369ZSWlgL+scS//e1vOemkkxg6dChfffUVBQUFnHvuuYwYMYJvv/2WOXPmcM011zBgwAC2bNnCq6++ytixY7nppptYunQpeXl5PPHEEwwdOpRVq1Yxe/Zs7rjjDvr06cOGDRtYvHgxV1xxBd26dWPXrl188803nHbaacTHx1NWVkZlZSVJSUlBfylpTKQvUAPqQRYRERFpsSNZZMUYQ3JyshO64+LiGDNmjLMKY3JyMv/zP//jTMmXmZnJc88954TwwYMH88UXX3D++ecDMHz4cLxeL+PGjQP8M5S8++679O7dG4/HQ2pqKhdccIEzRWBiYiKDBw8mOTmZkSNH4vP5sNY6c2hv3bqVF154gYMHDwLw73//m5tvvtnpkX7rrbfIycmhuLgYgNmzZ5OSksKePXsAePLJJ8nOzqakpATwDze54IIL8Hq9AOzbt4933nkHn88HwI4dO+pN/xfu2UkUkEVERERaKDc31wmIjSkqKgpaWbEtxcXFOT3SXbt25dxzzyUvL4+ysjL279/PiSeeSJcuXSgrK6O8vJwRI0YwY8YM0tLSyMnJ4cMPP3SGiFxyySW43W5nSMoVV1zBt99+6wT4Cy+8kHfffdcJ3KNGjeK+++6jW7duAPTt25exY8c6Y6DLy8spKipyphxMTExk5cqVTm/zV199Ve/ztOd31xDNYiEiIiLSQpE0E0NTInF6wbrfXXl5edADhZEwi4UCsoiIiMhhqJ3Lt6KigoyMDFwuF16vl6KiIuLi4sI6D3Kki5TvTgFZREREpJVFYg9tRxEJ350CsoiIiIhIAC0UIiIiIiISAgVkEREREZEACsgiIiIiIgEUkEVEREREAiggi4iIiIgEUEAWEREREQmggCwiIiIiEkABWUREREQkQLMB2RiTbYxp8XImxpjvGGMuOryyRERERETCI5Qe5M3A/zZ0whiz0hgzvZHrbgXeONzCRERERETCIZSAbGq2hnwH6Nt65YiIiIiIhJfGIIuIiIiIBFBAFhEREREJoIAsIiIiIhJAAVlEREREJIACsoiIiIhIgJgQ23U1xmS38FzXw6xJRERERCRsQg3Il9VsddkmzomIiIiIdDihBuTG5kFujj3M60REREREwqLZgGyt1ThlERERETlqKPyKiIiIiARQQBYRERERCRDqGOQmGWOGAxcDGUAh8Jq1dl1r3FtEREREpD0124NsjPmuMeZVY8yURs7PAJYBecBPgLuBNY21b+D62caYPcaYLxo5b4wx/2eM+doYs8YYc2oo9xURERERORyhDLG4CP80bpvrnjDGfB+4C/8sFzuA14HP8PdMP2SMOTGE+88Bzm/i/DhgcM32U+CxEO4pIiIiInJ4rLVNbsBiYB8Q3cC5dwEf8AnQJeD4XTXHH2nu/jXt+wFfNHLuCWBSwP56oFdz9zzttNNsOEyfPt3in95OmzZt2rRp06ZNWwjb9OnTw5LbgOW2gRwZSg9yX2CltbY68KAxJgEYU/PB7rTWHgw4/WdgL3BWCPdvTh9ge8B+Yc2xeowxPzXGLDfGLC8qKmqFtxYRERGRo00oATkD2NnA8dOAWOAA8EHgCWutF1iFP1wfqYYWKbENNbTWPmmtHW6tHZ6RkdEKby0iIiIiR5tQZrGIAZIaOF77sNyqur3LNfYA8YdbWIBCICtg/xj8450j0owZM5gxY0a4yxARERGRwxRKD/IO4PgGjufg78ld1sh1yUDxYdYVaB5wbc1sFt8DPNbahnq0RURERESOWCg9yB8DVxljJlpr/wZgjOkNXFhz/r1GrhtGw0MzghhjXsI/ljndGFMITMc/dANr7ePAAuAC4GvgEPDjEGoWERERETksoQTkh4GrgOeNMRfjHzpxOZAAbAAW1b3AGHM8/vHH7zd3c2vtpGbOW+DnIdQpIiIiInLEmg3I1trPjDG/BmYBV+IfVmHwP5w3uSbA1vWTmtdmA7KIiIiISCQJaalpa+39xpj3gYlAD2AbMNdau72RSw4CD9H48AsRERERkYgUUkAGsNauAdaE2Pa3h12RiIiIiEgYhTKLhYiIiIjIUaPZHmRjTL2H8FrAWmvHHsH1IiIiIiLtKpQhFmP474N5LdXginciIiIiIpEq5DHIwKfAc8CuNqpFRERERCTsQgnILwGXAGfgX176HWAOMM9aW9V2pYmIiIiItL9mH9Kz1l4FZAI3A8uB8cDfgJ3GmAeNMd9p2xJFRERERNpPSLNYWGtLrbVPWmtHAsfiXzTEC9wCrDDGrDLG3GKMSW/DWkVERERE2lyLp3mz1m6w1v4GyAYuBF7DH5ofAL41xjzXuiWKiIiIiLSfw54H2Vrrs9a+ba29AjgG+AcQC5zXWsWJiIiIiLS3lsxiUY8xZigwGbgG6FVz+KsjrElEREREJGxaHJCNMcnAJPzB+Az88yPvBR4B5lhrV7VmgSIiIiIi7SmkgGyMMcA5+EPxxUACUA0s4L9TvlW2TYkiIiIiIu0nlKWm/wBcC/TG31u8Fn8ofs5au7tNqxMRERERaWeh9CD/Bv+S0cvxB+NlNcf7GGP6NHextXblYVcnIiIiItLOWjIGeXjN1hK2he8hIiIiIhJWoYTXbfiDroiIiIhIp9dsQLbW9muHOkREREREIsJhLxQiIiIiItIZKSCLiIiIiATQA3QiIiISke666y62bdvWbLvs7GzuueeedqioeeXl5RQVFVFeXk5VVVW4y4lI+/fvD+m7iYmJoVu3bi26d0xMDPHx8WRkZBAfH3+4JSogi4iISGTatm0b/fr1a7bdli1b2ryWUHg8Hnbv3k1GRgaZmZnExMTgX2vt6GCtxVpLVFTwAIXy8nLKy8uprq7G5/MBEBUV5bQHSElJqXc/r9dL//79W/T+VVVVHDhwgG3bttGzZ88G7xsKBWQRERGRFmqod3vixIkMGTKE/fv3s3//fgDi4uLo06fZZSPajbUWn8+Hz+dzAmvgflRUVL1QWVpayt69extsH7jv8/no1q0bgwYNCrp+79697Ny5s8m6DjfIBjLGEBsbS2pqKi6Xi127dikgi4iISMt0xCEMkaKh3u20tDQSExODeo29Xu8Rv5fP56OioiIokFZXVzv7ga/GGLKzs/n222+pqKgAoLKyktLSUqe3tikJCQn1QqXX66W4uDjkWuuq26PcEGttq/a2JyQkHNF3r4AsIiJylOpoQxgiWW349Pl8REVFBYU9n8+H2+2uF2Ybez3hhBOCQqXX6+XLL78MqY7o6Giys7OpqKjA5XLVq685hxtwm3qf+Ph4UlJSiIqKIjo6mgMHDjjDT2q31nak91RAFhERkaNWdXU1Bw4coKSkhNLSUkpKSjj22GPrPRyWl5dHcXExJSUllJSUsGLFCgAqKirwer14vV5GjBhBbGwsPXr0ICbmvxHLWtuiv2TUhuxaLQmo1dXV9UJq3bBYN5jGx8cTFRVFVFQUcXFx9e7ZpUsX+vbt6wTc2rYN7TcUTFNTU0lNTXX2N2/eHBTeI5ECsoiIdGgaJnB0qq6udoKp2+3mo48+csLr6aefzuDBg4Pa33rrraxdu9ZpU7sdOHCg3r3feecdzjvvvKBjTz311GEPM2hJwK39bIEBOzo6GpfLFRRGo6Ojnf26x+uKjY2lZ8+eDfbYhvIgnMvlIiMjo0WfoaNTQBYRkQ5NwwQ6Hp/PR2lpqfMwW+3m8XjYv38/p556Kjk5OUHXLFiwgK+//toJxdXV1UHn33rrLefnxx57rF5A/uSTT/j0009Dqq+kpKTeseTk5JACckNh2BhDeno6xph6obah19jY2KDrY2JiGDZsWEi1N6T2fSV0CsgiIiLSIlVVVZSUlDQacAcOHMhFF10UdM0f/vAHnnrqKfbv309JSUmTY2Jvu+22egH50KFD7Nu3L6T6Ggu4jenatSvJycnO1rVr13ptfve73+H1eklOTiYpKYlHHnmEfv364XK5cLlcxMXFkZKSQmZmZoPvEcpf4iRyKCCLiIgchcrKyjh48CC7d++mrKwsaEtMTOSUU04Jav/MM89w1113sX///gaHJQSaOHFivYB88OBBtm7dGlJttVOkBaq76IMxxgmnUVFRHH/88U7AHTJkSL3r77nnHn79618HBeHk5GS6dOkSUu/q5MmTg/Zfe+21RsPw0Wr9+vW89NJLTJo0iaFDh4a7nCOigCwiItJBWWs5cOAAbrc7aKuqqmLSpElBbRcvXswtt9zitCkvL2/0vr169aoXkKuqqigsLAyproYCbt2pw7p27Uq3bt2cLSUlxfm5tvc4OzvbGRrTv39/srKyiIuLIzY2lujoaGcsbSjjy0eMGBFS7XJ4rLXccMMNrFmzhoULF/LRRx81OpNEXFxcSFOwNfTAYHtRQBYREQkzn89HSUlJUMg955xzggLGli1bnIC7d+/eoDBcV/fu3esF5Orqar744ouQ6mkoPAfO6mCMcQJtYLCt/fmEE06od/0NN9zAxIkT6datG8nJyUEPoTVGD1V2HE8//TRbtmxh9erVnHXWWTz77LP1et1rRdLCKY1RQBYREWlFPp+Pffv2kZKSEhQCy8rKyMvLo6ioqF6P7759++rNfODxeILGzfp8vqAH0ZpSe7/AB8bS0tKC2sTGxhITE0PXrl1JSEhwtvj4eJKSkurdc9y4cWzdupWUlBSSkpJaPDNDeno66enpLbomkgX2bteqqqqq1zMazl7Q9lJcXMxvfvMbXnzxRQYMGMDs2bO5+uqrueiii+r9uesoFJBFRERC9OGHH7Jz506Ki4spKioK2mqP1S7J+5///IeTTjrJuTY2NpYHH3ww5Pdyu91BAbmxoJGYmEhaWlq9raKiImjc7nHHHcfq1aud84mJiUyfPr3RKfICw192djZdu3Zt8OG1o1VDvdtfffVVs1OmtZf2HMaQnp5OUVGRs3/uueeyZ8+eI75vOCkgi4jIUeXgwYP1Am5Dgff3v/89Y8eODbr22muvDWnOZaDelGAxMTGkpaXhdrsbbJ+UlOSE1+7du9eb5SE5OZk33niD7t27O+1SU1PrPbzWmISEBE4++eSgYxrC0Hl1hGEMkUwBWUQkAmixi8NXO6fugQMHnO3gwYNkZWXRt2/foLbnnXce7733Xkj3bWje5IyMjJD+OSUnJ3Po0KF6x2fNmkV0dDTp6elBvb2pqan15r6tKyoqiksuuSSk2kXkyCggi8hRI5JDqBa7CGatpaqqql5ofPXVV3n77bfZuXMnu3btYteuXezZs6fBOXWHDRsWdDw7O5uDBw+GXEPgr4xr5ebm0q9fPzIyMkhPTycjIyNoqx1nG7iMbiT/uRM5UiUlJXTr1q3Jea2XLFnCqFGj2rGqI6eALCJHDYXQ8KusrGTPnj3s2rUrKOQ2tH/ZZZcxd+7coOs/++wz5syZE9J7jRgxgieeeCLo2M9+9jPi4uIaDLh19xuaS3fWrFkt/sz6cyed2cqVK7HWcuWVVzJu3LgG2wwfPrydqzpyCsgiInJErLV4PJ56QTc+Pp4pU6YEtX3iiSf45S9/GdJ9d+7cWe9YYwszpKen06tXLzIzM8nMzKRnz54N9lg99NBDPProo43OzyoSSTrCbx9WrlwJwHXXXce5554blhraggKyiIiEbMOGDTzyyCMUFhYGheGG5s0dNGhQvYDckpXHGnqY7dxzz+Wpp54iMzPTCcQ9evRodvxurVDbiUSCjvDbhxUrVmCM4fTTTw9bDW1BAVlE5ChVVVXFzp072b59O4WFhWzfvt3ZCgsL2bt3Lxs3bgzqbd23bx8PP/xwSPfftWtXvWO9e/emR48eTk9vYK9v4M+ZmZlBU5zVGjZsGMOGDTv8Dy0irWrlypX07duX6urqejO3AB127msFZBGRTqi6uprdu3eTkZER1Gu6f/9+xo0bR2FhITt27Ki3OEVdbreb7t27O/tZWVkNtktMTHQCbmDQrbtYxciRI9m9e/cRfjoRiQQHDhxgw4YN+Hw+MjIy6p3PzMxscKhUR6CALCLSwfh8Pnbv3h3U61v35x07dlBVVcXq1auD5r5NSkpi+fLlDS5P3JDCwkK6d+/ujIX0+XycdtppdOnShcTERGf1tdoQrpkYRI4eq1evxufzceuttzJ+/Ph651NTU4P2zzjjDH7/+99z3nnntVeJh00BWUQkwni9Xvbt28f+/fvp2bNnvf/JDB06lK+//jqke23fvj0oIEdHR9OnTx+2bt0KQM+ePTnmmGPIyspytsD92sUGAsdCDhgwoNH300wMIkePFStWAHDRRReRm5vbbPtPP/20rUtqNQrIIiLtzOfzsWPHDjZt2sQ333zDpk2b+Oijj3j//ffZt29f0AITF1xwQb2HX3r27BlSQE5PT29wsYo333yT5ORk+vTpEzRfr4hIS9TOYHHCCSeEuZLWp4AsItIGDh06xObNm4mLi2Pw4MFB56688kpeeeWVkO6zffv2oLF92dnZeL1eUlNTG+31re35TUhIaPCe3/nOdw7/g4mI1FixYgXp6en07Nmz2bZvvfUWd955J2vWrAHgjTfeYMaMGVxxxRU8+eSTuN1ufvGLXzBz5sy2LjskCsgictTIzs4OaQhAdnZ2s22stezZs8fpAa59rf259sGUyZMn88wzzwRdW3f547ri4uLo378//fv3Z+LEiVx//fVB56urq4mOjm62RokMrfnnTiRSlJWVsW7dOnJyckJqv3LlSk455RRnf9WqVWzYsIHevXuzceNGPvvsM0aNGsVtt91Gt27d2qrskEVEQDbGnA88BEQDf7XW/qnO+RTgeSAbf833WWufqXcjEZEmtPThsYqKCoqLi+ndu3fQ8WeffZaf//znIS1bvGnTpnrHBgwYQHp6OgMGDGDgwIFBrwMGDKBPnz5BMz/UpXDcseihRemMVq9eTXV1NQDPP/98g20uvPBC5xmKlStXcvbZZzvnVq1axQ033MDkyZOByBumEfaAbIyJBh4FzgEKgc+MMfOstWsDmv0cWGut/YExJgNYb4x5wVpbEYaSRaSTsNbidruDen4DX7dv387gwYNZv3590HXdunVrNhzHxMTQzsIQmQAAIABJREFUt2/fBqdF++lPf8pNN93Uqp9FRDqfSP7tQ+344w8//JAPP/yw3nljDPv27XP2V61axa9+9aug/VtvvdXZ///t3Xt8VNXd7/HPjztyD0EgSLhYVCIYLiHIRQ3XiqIVraC0FlqO2KfRQ1s80GofRe3hOT2tFB/txUsV+lAUrPFQqlYllJtoDbk8gCQC0jQKqAQCMdwMyTp/7Mk4k+skmWQS+L5fr3lNZq+19/7Nmg35Zc3aa2VlZdGnT58m0XsMTSBBBhKB/c65AwBm9hLwDSAwQXZAJ/Nmq+8IHANCm6NIRKScnJwcvve975Gdnc3x48errZubm1thSEPZLA6dO3fm0ksvrdALfOmll9K3b19atar8v1gtcywioWjK3z4kJyeTnJwcUt38/Hw++eQT//0PR44c4eDBg4wYMcJfJzMzM2gIRqQ1hQS5D/BxwOtPgNHl6jwF/AU4BHQCZjnnqp/dXkQuOKWlpeTm5rJnz56gR2pqKp06dfLX69q1K++++26NxzMzevXqxdGjR7n44ov92wcPHkx+fj5RUVFKdkVEapCRkcGAAQPo0qUL4CXD/fv3JyoqKqhOYMIcaU0hQa7st4sr9/rrQBYwEbgUeNvMtjrnCoMOZDYfmA+62UHkfLd//34++OCDoEQ4Ozub06dPV6ibk5MTNFVa2dzCBQUFdOjQocIY4LKf+/XrV+k0aK1atQpaXU5ERKpWvnc4MzOzQjKcmZnJrbfe2tihVakpJMifAIGD9C7B6ykO9F3g/zjnHLDfzP4JXAEEzTjtnHsGeAYgISGhfJItIs1McXExH330EVFRUUE9uACTJk0iLy8vpOPs2bMnKEE2M95880369OlD79691QscgqY8FlJEmrbFixdX+xpg165djRVOSJpCgpwGDDKzAcBB4A5gdrk6ecAkYKuZ9QQuByreGi4iEVW2HHFNyi9HfPbsWfbt21dhaMTevXspLi7mySef5N577w06RlxcXKXnuvjii4mLiyMuLo4rr7ySuLi4Suf9Lb/4hlSvKY+FFBEJt4gnyM65c2Z2L/Am3jRvzzvnPjCz7/vKfw88Bqwws114QzIWO+fyIxa0iFQqcDni6uTm5rJmzRrWrl3LBx98wP79+/3TBVVmz549FbZdc801nDt3zp8Mx8XFMXjwYKKjo+vzFkRERCKfIAM4514HXi+37fcBPx8CpjZ2XCJSN845CgoKOHToEJ9++ikdOnRgzJgxQXWys7NJSUmp8Vh9+/alY8eOFbY/8MADPPDAA2GLWUREpEyTSJBFpPlyznHw4EHS0tLIyMhg69atHDp0iDNnzvjr9OrVq0KCHBcXF/S6f//+Qb3BZT3CnTt3bpT3ISIiUkYJsojUyZ49e1i8eDFpaWl89tln1dbNz8+ntLQ0aHW48ePH88c//pG4uDiuuOIKOnTo0NAhi4iIhEQJsohU6fjx46Snp7Njxw4WLlwYtPBFu3bt+Otf/1rlvu3btycmJobevXtz8cUX401C85WYmBjuuuuuBotdRESkrpQgiwgAJ0+eJDMzk7S0NHbs2EFaWhr79u3zl99www0MHTrU/3rAgAF0796do0eP0qlTJ0aOHMmRI0cYPHgwMTExdO3aVdOniYhIs6QEWeQCtmLFCrZs2UJaWhp79uyhtLTqBSrT0tKCEmQz48UXX+SSSy7h8ssvp0WLFsydOzekWSxERESaMiXIIue5c+fOkZ2dzUUXXcSll14aVLZy5Uo2bdpU5b6tWrXiqquuIiEhgcsvv7xC+ZQpU8IdroiISMQpQRY5j5SWlrJ//37S0tL8QyUyMzM5deoUCxYsYPny5UH1ExIS/AmymTF48GBGjRpFQkICo0aNIj4+nnbt2kXgnYiIiESOEmSRZuzYsWP8/e9/5/3332fHjh2kp6dz4sSJSuvu2LGjwrZbb72VXr16MWrUKIYPH06nTp3qFY+WIxYRkfOBEmSRZmzNmjX84Ac/qLHeJZdcUunY4DFjxlSYn7g+tByxiMiF68MPP+TFF1/kzjvvrHRYXnOiBFmkCTt37hw7duwgNTWVrKws1q5dy8MPP0xeXh5Apb3F7dq1o3v37gwcOJBFixaRkJBAr169Gjt0ERG5gDjnmDdvHjt37iQ1NZUtW7Y065mMlCCLNCHOOXJyctiwYQMbNmxg06ZNFBYW+sv37t1LXl6evze4rH737t2JiYkhJiaGLl26YGbk5uYyffr0CL0TERG5kPzhD38gNzeXrKwsrr32WlauXMncuXMjHVadKUEWibCDBw+SmprqT4oPHz5cZd0NGzYEvTYzZs2a1dAhioiIVCk/P5+f/vSnrF69moEDB/L888/z7W9/m5tvvpmoqKhIh1cnSpBFIuzmm28mIyOjyvJLLrmEyZMnM3nyZKZMmUJaWlojRiciIlK96Ohojhw54n89depUPv/88whGVH9KkEUa2JkzZ3j33XfZsGEDX/va1/jud78bVD558uSgBLlr165MnDiRSZMmMXnyZAYNGtSsx3GJiIg0N0qQRcKspKSErKws/7CJrVu3cubMGQDGjx9fIUG+/vrrSU9PZ/LkyUyaNIkRI0bQsmXLSIQuIiIiKEEWqTfnHB999BEbNmwgNTWVjRs3cuzYsUrrvvfee3zxxRdB8w1PmDCBCRMmNFa4IiIiYVNYWEjXrl1xzlVZZ9u2bYwbN64Ro6o/Jcgi9bRr1y7i4+OrrXPZZZf5h0y0bt26kSITERFpWBkZGTjnmD17NtOmTau0TkJCQiNHVX9KkEVCUFRUxJYtW9iwYQMLFy6kT58+/rIhQ4bQvXt3jh496t/Ws2dP/411kyZNom/fvpEIW0REzgPHjh1j27ZtbNy4kcLCQjp37szEiRMZP358xGeJKLuHZs6cOUydOjWisYSTEmSRKhw/fpyUlBRWr17N5s2bOXfuHABXXXVV0NyOLVq04JZbbuGzzz7zJ8VxcXG6sU5EROpt3759PP744xQXFxMdHU3fvn05c+YM69at4/XXX2fhwoUMGjQoYvGlp6djZowaNSpiMTQEJcgiAU6fPs1rr73G6tWree211/jyyy8r1ElNTa0w+flzzz3XSBFCbGwsubm5IdUTEZHm69ixYzz++OO0b98+aEXU9u3b07dvX06cOMHjjz/O0qVLI9aTnJGRQb9+/SgpKSE/P79CeXR0dASiqj8lyCJ4fwE/9dRTpKSkBK1cFyg+Pp7JkydHfHW6Rx99NKLnFxGRxrFt2zaKi4uDkuNAXbp04cSJE2zfvj0iv5uKiorYu3cvpaWl9OjRo0J5r169ql38qilTgiwCfPjhh6xYsaLC9qioKAYOHEj//v3p0KED+fn5rFixghUrVhAbG6tkVUREGszGjRtr7IHt0aMHqampEUmQs7KyKC0tZcGCBZWev1u3bo0eU7goQZYLSk5ODq+88gqLFy+mVauvLv9vfOMbXHTRRZw6dYpOnToxfPhwhg4dWu1/TKEMcxAREamrwsLCGm/ybtu2bdAqdo0pPT0d8FaEnThxYoOfLzExkYULFzJr1qwGP5cSZDnvHTx4kJdeeonVq1f777ZNTExkypQp/jodOnTgd7/7HVdccQW/+c1vGDBgQKTCFRERAaBz586cOXOG9u3bV1nn7NmzdOnSpRGj+krZ79Qrr7yywc9VUlLCrl27GDZsWIOfC6BFo5xFpJEVFBTw7LPPMmHCBPr27cv9998ftJzz6tWrK+zzne98h8TERM0+ISIiTcLEiRMrvfEt0JEjR5g0aVIjRRQsPT2d6OhoevbsGVL95557jsGDB9O5c2dGjx5NZmamv2zZsmXMmDEjqH58fDwpKSkcPnyYTp06cfbsWUaOHEnHjh3Zvn17WN9LeUqQ5bxx6tQp1q5dyy233ELPnj2ZP38+mzZtClrdp02bNtx6663cdtttEYxURESkZuPHj6d169acOHGi0vITJ07Qpk0bxo4d28iRebM+5eTkhNx7vGzZMpYvX05KSgrHjx/ntttuC/pdnJGRwfDhw/2vz549S3Z2NsOHD6d37948//zzJCYmUlRURFFRUYO/Zw2xkPPG008/zY9//OMK21u0aMHEiROZPXs2M2bMoGvXrhGITkREpHaioqJYuHAhjz/+OCdOnKBHjx60bduWs2fPcuTIEdq0acPChQsjMsVbVlYWJSUlAKxatarSOjfeeCPdunWjoKCARx55hC1btjB48GAA5s6dy+LFi8nPzyc6Opr09HRmzpzp33fXrl106NDBP+SxfALd0JQgS7PjnCMzM5MRI0YEbZ85cyYLFy709xiPGjWK2bNnM2vWLHr37h2JUEVEROpl0KBBLF26lO3bt5OamsqRI0fo0qULt956K2PHjo3o/McAmzdvZvPmzRXKzYyCggIA3nnnHXr27El8fLy/PD8/n3bt2hEVFcXJkyfZu3dvUAKcmZkZNN44IyOD22+/vaHeTgVKkKXZyM7O5k9/+hMvvvgiBw4cYOfOnQwdOtRf3qdPH+bNm0ffvn258847I7qykIiISLhERUUxffr0iM/DHyg5OZnk5OSQ6ubn51eY8u2VV15h3LhxtGjRgt27d9OlS5egGTveeOONoIQ5KyuLpUuXhif4EChBlibt448/9s9AkZWVFVT24osvBiXIAM8++2xjhiciIiI1SExMJDk5mYyMDIYMGUJKSgpPPPEEb7zxBuB9M1xaWsrJkyfp0KEDq1atYt26df71CYqLi/290Y1FCbI0OUePHuXPf/4zq1evZsuWLZXW6dKlCy1btmzkyERERKS24uLiWL58OTNmzODYsWMMGzaM9evXM2rUKMBLoKdNm0ZcXBwDBgzgjjvuoGPHjv4e5NatW3P//fczdepUzp07x86dOxk4cGCDxmyBd/ifTxISEtyOHTsiHYbU0vPPP8/3v/99iouLK5S1a9eOm266idmzZzNt2jTatm3bIDE89NBD5OXl1VhPK+mJiEig7Oxs/01oEnmhfB5mlu6cSyi/XT3IEhFVJaFHjx4NSo7NjClTpvhnoOjcuXODx6akV0RE5MKmBFkiIicnh8OHD3PttdfSunVr//Z+/frx3nvv0bZtW4YOHUrnzp1Zs2ZNBCMVERGRC40SZGlUBw8e5Be/+AWvvPIKpaWldOzYkdGjR/vLzYy7776bNm3aAJCbmxuhSEVERORCpZX0pFHk5eWRnJzMwIEDefLJJyktLQW8uRHPnTsXVLcsORYRERGJBPUgS4PKzc3lP/7jP3jhhRcq3HgXExPDddddp9koREREpElRgiwN4sCBAyxdupSVK1dW6CG++uqr6dixI2PHjsXMIhShiIiISOU0xELC7ssvv2TMmDH84Q9/CEqOx40bx1tvvcX27dvp06ePkmMRERFpkpQgS9i1adOG++67z//6uuuuIzU1la1btzJlyhQlxiIiItKkKUGWetmzZw9PPfVUhe333XcfN998M5s2bWLTpk1MnDhRibGIiIg0CxqDLHWya9cufv7zn/Pyyy8DMHHiROLi4vzlXbp0Yd26dZEKT0RERKTOlCBLrWRlZfHYY4+RkpIStP3nP/85q1evDvk4sbGxIc1xHBsbW9sQRUREROpFCbKEJD09nccee6zSXuGbbrqJH/3oR7U6npZzFhERkaZKCbJU6/333+fRRx/ltddeq1B2yy238O///u+MGDEiApGJiIiINAwlyFKlrKysoGWgy3zzm9/kZz/7GfHx8RGISkRERJqKwsJCunbtinOuyjrbtm1j3LhxjRhV/SlBlirFx8czfvx4tm3bhpkxc+ZMfvaznzFkyJBIhyYiIiJNQEZGBs45Zs+ezbRp0yqtk5CQ0MhR1Z8SZME5x+bNmzl9+nTQxW1mPPzww7zwwgs8+OCDQbNUiIiIiGRkZAAwZ84cpk6dGuFowkcJ8gXMOcfGjRt55JFH2Lp1KwMHDuTDDz+kVauvLovJkyczefLkCEYpIiIiTVV6ejpmxqhRoyIdSlhpoZALkHOON998k/HjxzN58mS2bt0KwIEDB2o1VZuIiIhc2DIyMujXrx8lJSXk5+dXeDRXTSJBNrPrzexDM9tvZj+pok6SmWWZ2QdmtrmxYzwfOOd4/fXXGTNmDNdffz3bt2/3l7Vq1Yq7776ba665JoIRioiInJ+WLFmCmYX0mD9/foX958+fH/L+S5YsqbD/TTfdVGOd2ioqKmLv3r3k5ubSo0ePCo+hQ4fW+xyREvEhFmbWEvgNMAX4BEgzs7845/YE1OkK/Ba43jmXZ2YXRyba5uutt97iwQcfZMeOHUHbW7duzbx58/jJT35Cv379IhSdiIiINDdZWVmUlpayYMECpk+fXqG8W7duQa8TExN57LHH+PrXv95YIdZZxBNkIBHY75w7AGBmLwHfAPYE1JkNpDjn8gCcc583epTN2PLlyyss5NG2bVvuvvtuFi1aRN++fSMUmYiIiDRX6enpANx8881MnDixxvrvv/9+Q4cUNlbdvHWNEoDZN/F6hv+H7/VdwGjn3L0BdZYDrYErgU7AE865P1ZyrPnAfIDY2NiR//rXvxrhHTR9e/fuZeTIkRQVFdGuXTvuueceFi1aRExMTKRDExEROW9kZ2czePDgSIfRaObMmcMf//hHPv30U3r27BnpcCoI5fMws3TnXIV56JpCD7JVsq181t4KGAlMAtoD75rZe865vUE7OfcM8AxAQkJCZDP/CHvooYfIy8vzvx4+fDi5ublcffXVHD9+nAceeACA2NhYLfssIiIitZaenk50dHRIyfH69et58MEH2blzJ6+++ipLlixh1qxZPPPMMxw7dox7772XpUuXNkLUoWkKCfInQOB3/JcAhyqpk++cOwmcNLMtQDywFwly6tQp3nvvPfLy8ujfv79/e//+/XHOYRb890hubm7jBigiIiLN3unTp8nJyWH8+PEh1c/IyGD48OEAZGZmsnfvXmJiYti3bx9paWmMGzeORYsW0bVr14YMO2RNIUFOAwaZ2QDgIHAH3pjjQOuAp8ysFdAGGA38ulGjbAb27NnDzJkz2bdvH1OnTg1KkIEKybGIiIhIXWRlZVFSUgLAqlWrKq1z4403+m/Uy8jIYMKECYCXIM+bN4+5c+cCcOWVVzZ8wLUU8QTZOXfOzO4F3gRaAs875z4ws+/7yn/vnMs2s78BO4FS4Dnn3O7IRd20OOd44YUXuPfeezl9+jQAmzdv5qqrrqJ169YRjk5ERETON2Ur6G3evJnNmyvOvmtmFBQU+F9nZmby4x//2P/zggUL/GVZWVn06dOnyfQeQxNIkAGcc68Dr5fb9vtyr38J/LIx42oOvvjiC/7t3/6NP/3pT/5t7dq1Y8iQIUEr4omIiIiES3JyMsnJySHVzc/P55NPPmHYsGEcOXKEgwcPMmLECH95Zmamf/hFU9EkFgqRusnMzGTkyJFByXFcXBxpaWlcdtllGlIhIiIiEZeRkcGAAQPo0qULmZmZ9O/fn6ioqKDywIS5KVCC3Aw553jqqae4+uqr2bdvn3/79773Pd5//32GDBkSwehEREREvhLYQ5yZmVkhGW6KPcj6Dr6ZKSgoYN68ebz66qv+bR07duTpp59m9uzy9zaKiIiIRNbixYsr/bnMrl27GjOckChBbmZycnL4y1/+4n89fPhw1qxZw6BBgyIYlYiIiMj5Q0MsmpkxY8bw2GOPAXDffffx7rvvKjkWERERCSP1IDdxpaWltGgR/HfM4sWLGTt2LNddd12V+8XGxoa0CEhsbGx9QxQRERE5ryhBbsI2bdrEfffdx2uvvRaUyLZo0aLa5BjQ8tEiIiIidaQhFk1QSUkJS5YsYdKkSezevZvZs2dz7ty5SIclIiIickFQD3ITc/DgQb71rW8FrUqzd+9e9u/fzxVXXBHByEREREQuDOpBbkLeeOMNhg0bFpQcT5gwgaysLCXHIiIiIo1ECXITUFxczKJFi7jhhhvIz88HvHHGjzzyCG+//TYxMTERjlBERETkwqEhFhGWm5vLHXfcwT/+8Q//tpiYGFavXl3jjXgiIiIiEn5KkCPo8OHDDBs2jBMnTvi33XDDDaxYsYIePXpEMDIRERGRC5eGWERQ7969ufPOOwFo1aoVv/rVr1i/fr2SYxEREZEIUg9yhC1btoxDhw7xwAMPMHr06EiHIyIiInLBUw9yI3r55ZeDhlMAtG/fnnXr1ik5FhERkWansLCQFi1aYGZVPt55551Ih1lr6kFuBCdPnuTee+9lxYoVzJw5k5deegkzi3RYIiIiIvWSkZGBc47Zs2czbdq0SuskJCQ0clT1pwS5ge3cuZNZs2aRk5MDwNq1a5k+fTp33XVXhCMTERERqZ+MjAwA5syZw9SpUyMcTfhoiEUDcc7x9NNPM3r0aH9yDHDXXXcxY8aMCEYmIiIiEh7p6emYGaNGjYp0KGGlHuQGcOLECebPn8/atWv92y666CJ++9vfMmfOnAhGJiIiIhI+GRkZ9OvXj5KSEv9iZ4Gio6MjEFX9qQc5zNLS0hgxYkRQcjx06FB27Nih5FhEROQClZSUxIoVKwBvBd2kpCRWrVoFwKlTp0hKSmLNmjWA19GWlJRESkoKAPn5+SQlJbF+/XoAPv30U5KSkvjb3/4GwMcff0xSUhIbNmwA4MCBAyQlJbF582YAPvzwQ5KSkti+fTsAu3fvDst7KioqYu/eveTm5tKjR48Kj6FDh4blPJGgHuQwcc6xfPlyFi9eTHFxsX/7Pffcw69//Wvat28fwehEREREwisrK4vS0lIWLFjA9OnTK5R369YtAlGFhznnIh1Dg0hISHA7duxotPOVlpZy00038frrrwPQuXNnnn32WWbOnNloMYiIiEjkZGdnM3jw4EiH0WieeOIJfvjDH5KamsrEiRMb/HyJiYksXLiQWbNmhVQ/lM/DzNKdcxWm2VAPcpi0aNGClStXEh8fT0xMDGvWrGHgwIGRDktERESkQZTNYHHllVc2+LlKSkrYtWsXw4YNa/BzgcYgh1V0dDQbN27knXfeUXIsIiIi57X09HSio6Pp2bNnSPWfe+45Bg8eTOfOnRk9ejSZmZn+smXLllWY5Ss+Pp6UlBQOHz5Mp06dOHv2LCNHjqRjx47+8dQNRQlymF1++eW0adMm0mGIiIiINJjTp0+Tk5MTcu/xsmXLWL58OSkpKRw/fpzbbruN2267zV+ekZHB8OHD/a/Pnj1LdnY2w4cPp3fv3jz//PMkJiZSVFREUVERY8eODft7CqQhFiIiIiJSK1lZWZSUlAD4Z+Mo78Ybb6Rbt24UFBTwyCOPsGXLFv+Y4Llz57J48WLy8/OJjo4mPT096L6tXbt20aFDBwYMGABUTKAbmhJkEREREamVsvHHmzdv9k8nF8jMKCgoAOCdd96hZ8+exMfH+8vz8/Np164dUVFRnDx5kr179wYlwJmZmUHjjTMyMrj99tsb6u1UoAS5Hh566CHy8vJqrBcbG8ujjz7aCBGJiIiINLzk5GSSk5NDqpufn19hyrdXXnmFcePG0aJFC3bv3k2XLl3o27evv/yNN94ISpizsrJYunRpeIIPgRLkesjLy6N///411svNzW3wWERERESaosTERJKTk8nIyGDIkCGkpKTwxBNP8MYbbwDeWhKlpaWcPHmSDh06sGrVKtatWxe0sEpZb3Rj0U16IiIiItJg4uLiWL58OTNmzKB79+785je/Yf369YwaNQrwEuhp06YRFxdHUlISRUVFdOzY0d+D3Lp1a+6//36mTp1Kx44dOXDgQIPHrIVC6mHu3Lkh9yCX/RUkIiIi56cLbaGQpq4+C4WoB1lEREREJIASZBERERGRAEqQRUREREQCKEEWEREREQmgBFlEREQkTM7XyQ+am/p+DkqQRURERMKgZcuWFBcXRzoMwZs7uWXLlnXeXwuF1ENsbGxIi4DExsY2fDAiIiISUZ06daKwsJDo6OhIh3LBKywspFOnTnXeXwlyPWj5aBERESkTFRVFXl4eAJ07d6Z169aYWYSjunA45yguLqawsJCCgoJ6dVAqQRYREREJg7Zt2xIbG8uxY8fIzc2lpKQk0iFdcFq2bEmnTp2IjY2lbdu2dT6OEmQRERGRMGnbti29e/emd+/ekQ5F6kE36YmIiIiIBFCCLCIiIiISQAmyiIiIiEgAJcgiIiIiIgGUIIuIiIiIBFCCLCIiIiISQAmyiIiIiEgAc85FOoYGYWZHgH9F4NTRQH4Ezns+UNvVndqu7tR2dae2qzu1Xd2p7epObVdRP+dcj/Ibz9sEOVLMbIdzLiHScTRHaru6U9vVndqu7tR2dae2qzu1Xd2p7UKnIRYiIiIiIgGUIIuIiIiIBFCCHH7PRDqAZkxtV3dqu7pT29Wd2q7u1HZ1p7arO7VdiDQGWUREREQkgHqQRUREREQCKEEWEREREQmgBLmOzKyvmf3dzLLN7AMzW+DbHmVmb5vZPt9zt0jH2tSYWTsze9/M/tvXdo/4tqvtQmRmLc0s08z+6nuttguBmeWa2S4zyzKzHb5tarsQmFlXM/uzmeX4/t8bo7armZld7rveyh6FZvZDtV1ozOxHvt8Tu83sRd/vD7VdCMxsga/dPjCzH/q2qe1CpAS57s4BC51zg4GrgWQziwN+AqQ65wYBqb7XEuwsMNE5Fw8MA643s6tR29XGAiA74LXaLnQTnHPDAuYCVduF5gngb865K4B4vOtPbVcD59yHvuttGDASOAW8itquRmbWB/ifQIJzbgjQErgDtV2NzGwIcDeQiPfvdbqZDUJtFzIlyHXknDvsnMvw/fwF3i+LPsA3gJW+aiuBWyITYdPlPEW+l619D4faLiRmdglwI/BcwGa1Xd2p7WpgZp2Ba4E/ADjnvnTOHUdtV1uTgI+cc/9CbReqVkB7M2sFXAQcQm0XisHAe865U865c8BmYAZqu5ApQQ4DM+ugplQOAAANeklEQVQPDAf+AfR0zh0GL4kGLo5cZE2Xb4hAFvA58LZzTm0XuuXAIqA0YJvaLjQOeMvM0s1svm+b2q5mA4EjwAu+oT3PmVkH1Ha1dQfwou9ntV0NnHMHgV8BecBh4IRz7i3UdqHYDVxrZt3N7CLgBqAvaruQKUGuJzPrCLwC/NA5VxjpeJoL51yJ7yvHS4BE39dBUgMzmw587pxLj3QszdQ459wIYBresKhrIx1QM9EKGAH8zjk3HDiJvpqtFTNrA9wMvBzpWJoL3/jYbwADgBigg5l9O7JRNQ/OuWzgF8DbwN+A/8YbGiohUoJcD2bWGi85/pNzLsW3+TMz6+0r743XQypV8H1Nuwm4HrVdKMYBN5tZLvASMNHMVqG2C4lz7pDv+XO8caCJqO1C8Qnwie+bHoA/4yXMarvQTQMynHOf+V6r7Wo2Gfinc+6Ic64YSAHGorYLiXPuD865Ec65a4FjwD7UdiFTglxHZmZ44/GynXPLAor+Aszx/TwHWNfYsTV1ZtbDzLr6fm6P959gDmq7Gjnnfuqcu8Q51x/v69qNzrlvo7arkZl1MLNOZT8DU/G+hlTb1cA59ynwsZld7ts0CdiD2q427uSr4RWgtgtFHnC1mV3k+507Ce9+H7VdCMzsYt9zLHAr3vWntguRVtKrIzMbD2wFdvHVWNAH8MYhrwVi8f5x3+6cOxaRIJsoM7sK7+aAlnh/pK11zj1qZt1R24XMzJKA+51z09V2NTOzgXi9xuANGVjtnPvfarvQmNkwvBtD2wAHgO/i+/eL2q5avjGgHwMDnXMnfNt03YXAvGlAZ+END8gE/gfQEbVdjcxsK9AdKAZ+7JxL1XUXOiXIIiIiIiIBNMRCRERERCSAEmQRERERkQBKkEVEREREAihBFhEREREJoARZRERERCSAEmQRERERkQBKkEVEREREAihBFpF6MbNcM3Nm1j/SsYSLmX3DzN4xs0Lfe3O+hTKarHB/Dufj5xopZna1mZWa2f8J0/EuMrPDZpbmW2FORMJMCbKISAAzGw78GUgE3sVb9XElUO1qU0ooz0/1/Vx9Cex/AoXAL8IRk3PuFPC/gQTgO+E4pogEaxXpAESk2ZsEtAYORjqQMLkF7//Gpc65ByMdTC2E+3M43z7XSLkTGAU85pwrCONxnwEeBJaa2YvOuS/DeGyRC556kEWkXpxzHznncpxzxZGOJUz6+p73RTSKWgr353Aefq6R8kPAAc+H86C+hHgVEAPcHs5ji4gSZBGphJldbmYrzexfZvalmX3h+6r5VTO7rVzdCl9Bm9mmgLG7VT1WVHLeDma2yDe2stDMTpvZB2a2xMw61uF99DOz35rZATM7a2YFZvZ3M5tdSd0lZuaA7/o2vVBdrAH7zfXt18+36Z/l3mdguzhfXcxsnpn9I2Ccc1ff9tFm9ksz22Fmn/na/5CZ/dnMrq4mjkqHApQ75ywze9fMinyfaaqZjW+M4/nqDzOzdWZ2zMxOmlm6mX2v/HFDVZvr1Fc/5OurNp9rNfGNwus93uycy62iTiszO+OLpZWZ3W5mG3xtdNzXpiOqOMVK3/MPaopFRGpHQyxEJIiZDQXeAToBOcB6vB6wPsDXgfbAKzUc5m9AbhVl1wM9gZJy570EeBOIA47gjf89g5dgPAzMMLOkUL+mNrPRvji6Av8EXgW6A9cBSWZ2PTDHOVeWlGXhJRzjgUvx2mC/r2xbNafa79vvm0AHvLYpCigvKr+DmT2Jl9S8A/wVuAyvjcEbW5oEfAC8D5wFLgduA24xszudcy+H0gblzvko3lfy24DXgKuAicB4X7u+25DHM7OJvnrt8K6rLKAX8IyZDa7D+6nVdVqH66vWn2slbvE9b6imzpVAW2AnsAaYBmwF3gbG4LXpm2Y22DmXH7ijc263mX0GjDGzHs65IyHEJCKhcM7poYceevgfeF8FO+CnlZR1BMaU25brq98/hGN/y1f3c+DSgO0GbPeVPQlcFFDWHvgvX9mKEN9DOyDPt8+vgZYBZUOAz3xl91Sy7wpf2dxatluN7eArd8BxILGKOtcDPSvZfhPwJXA0sH1qOn/AOY8CIwO2t8Abx+qAtxvyeMBFwCFf2SOABZSNBb4oO25DXKf1ub5qc31Xsu87vn0nVlPnuwFtujHws/ddx7t8ZTOr2P/V6sr10EOPuj00xEJEyuvpe36jfIFzrsjVsqexjJldh5fUnAZuds59FFB8PV5v2XvAAufdpV92ztPA9/GS6m+ZWbcQTnc73ljifwGLnHP+3mrn3G5gie/l/XV5L2Hwf51z71dW4Jz7m3Pus0q2rwdeBqKACXU458POufSA45UCP/O9vMbMWjfg8b4J9Ab2Ao8451zAftuB39by3FC76zTc11eoyqYGzK6mznDf80fAjMDP3jl3Bkj1vexVxf57yh1HRMJACbKIlFeWuP3ezKaYWdv6HtDMrsDr6WoFfNs59165Kjf4nl/xJVpBnHMngR2+/UeFcMrrfM9/cpXfZPYCXq/b18ysTwjHC7eU6grNLNo3BvZXZvacma3wjYMe4qtyWR3O+dfyG5xznwMFeF/xd2/A45V9Hmsq+3yB1bU8N9TuOg339VUjM+uA13MOXm97VcrGFz/unDtRSfnFvudDVexfNv1gzyrKRaQONAZZRMr7JXAN3jRfbwFnzSwL2Ayscs7tqs3BzOxi4HWgG/Bj51xlyeHAsnOb2S9rOGSPEE5blvT+s7JC59wZMzvkq9eHxp/K7F9VFZjZPcAyvkquKtO5DufMq2J7Id5n064Bj1f2eVT1vqtsj2rU5joN9/UVii6+57OuiinYzKwFEO97WdW4/rKe4Z1VlBf6nrvWOkIRqZISZBEJ4vv6ebLvJrfrgXF4X0+PBhaZ2cPOuUdDOZaZtce7eWoA8KRz7tdVVG3pe95M1Tf3lQklmSpbXay6WREitgKZ72v9CswsAfgdcA74X3ht9wlwyjnnzGwp8FPqEHsVPbd1VsfjVfV51PpYtbxOw319heK477mtmbV1zp2tpM4gvPHS//T1vgfxzaxxGV4SXNW0g2V/LIVzjmWRC54SZBGplHPuH8A/AMysDTAbeBZYYmZrnHMfVre/r3dsNd6KdH/Bmw+2Kh/7nl92zv2mvrHjJZXwVc9h+dja4Y2Jhaa1EMY38ZLf/3TO/aqS8q81cjzhUjY8oF8V5f3reuAQr9NwX1+hxHXKzE7izYARBRyupFrZ8IodVRxmBN5QyIzAcdvllA1lqZBgi0jdaQyyiNTIOfelc24F3k1OhjelV02W4U1ztQO4s4Yex7IbrcK14MFm3/OdZlZZR8AcvPex3zkXrgS57Gv0+nQ8RPmePy5fYGY9gCn1OHYkbfE9z/T94VTeneE4STXXaX2ur/p8rhm+57gqymtKkEf6ntOrKA88dkY1dUSklpQgi0gQM/uBmV1eyfaBeHO2Qg1fQ5vZ/wQW4H2dPT1w1oAq/D+8JOA6M/u9mUWVr2BmA80sOYS3AN5sDx/jDe34j8CkzMzi8KYaA6isl7auyhLtWs/pGyDH9/ydwIUrzKwT3gwgzXWc6ct4U+tdATxoZv4hIr4hEqF+rn61vE7rc33V53P9u+95TBXlZeOLa0qQqyoHuBpv6MqmWkUmItWyqr+1EZELke9Gp3jgALAbb0GEXngLaLQBXnLO3RlQPxfvq/MBzrdamJmV4P0Bvg1v+qrKbHPOPRdwnEvwbuYbijcv7n/jDZWIBmLxxmJ+5pyrarqr8u/jaryew66+GNLwemiTfO/jvwheKKRsvxV4Pczf9fVGhsT3R8ETvtjf4qsxqIudc0d9dbyJhJ2rdAyxb4qx/8abou4IXvsZcC1eT+brwPfwpkpbUm7fXMp9DiGes6r9wn28KXhjqtviTXtWtlDItcB/Aj8Cip1zbSo7biXnqe11WqfrK5TPtZoYh+P17G52ziVVUn4U74bGbpXNYGFm2Xh/VFzmnKswBtm3WMpOYLtzblx1sYhI7WgMsoiU9zNgOt7NTmPxbgL6DG/YwrPUvIoefPXt1Hjfoyr+BNk594mZJQLzgJl4icxovCmyDuL19r4a6ptwzr1nZsOAn+DdxHUr3hzM7+EtaLG6mnGddfEUXlt9C6/9yqYd+znVT/MVGHOB70a9x/CGU9yIN7Y0BXgIuCeM8TYq59zbZjYWbw7qa/DGHX+I13v8Ol6CnF/V/pWo1XVaj+urzp+rcy7TzN4DrjWz/uX+YOiH9wfbviqS47Ib9E7w1YqO5c3xPddlHmkRqYZ6kEVEJKLM7C7gj8BfnXM3RTqecDKzO4AXgceccw+F8bht8IaQlOL11lc6lZyI1I3GIIuISIMzs4t9vablt1+NN6cxeMt8n2/W4C1qcl+YV+mbjzek5AElxyLhpx5kERFpcGY2GXgbb7zwP/HGVA/kqxvV/ss5950IhdegfDcivou3xPhPwnC8i/DG1X8CJIZ5qJCIoARZREQage8muQfwlp3uDXTCWwAjC6/neJUSPRFpKpQgi4iIiIgE0BhkEREREZEASpBFRERERAIoQRYRERERCaAEWUREREQkgBJkEREREZEASpBFRERERAIoQRYRERERCfD/AbsE+yG1DoqYAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax=subplots()\n",
    "fig.set_size_inches((10,6))\n",
    "_=ax.plot(xi,ei,'ks',label=r'$\\hat{E}_{in}$',lw=3.,ms=10,alpha=.5)\n",
    "_=ax.plot(xi,eo,'ko',label=r'$\\hat{E}_{out}$',lw=3.,ms=10,alpha=.5)\n",
    "_=ax.plot(xi,(1-d/np.array(xi)),'--k',label=r'${E}_{in}$',lw=3)\n",
    "_=ax.plot(xi,(1+d/np.array(xi)),':k',label=r'${E}_{out}$')\n",
    "_=ax.hlines(1,xi.min(),xi.max(),lw=3)\n",
    "_=ax.set_xlabel('size of training set ($n$)',fontsize=22)\n",
    "_=ax.set_ylabel('MSE',fontsize=22)\n",
    "_=ax.legend(loc=4,fontsize=18)\n",
    "_=ax.set_title('dimension = %d'%(d),fontsize=22)\n",
    "fig.tight_layout()\n",
    "fig.savefig('fig-machine_learning/learning_theory_008.png')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
